2016-12-26 6 views
-1

편집 가능한 텍스트가 포함 된 textView가 있습니다. (색상 및 글꼴 속성은 사용자가 설정합니다.)이를 수행하기 위해 attributedText가 구현되었지만 textView가 비어 있음 (텍스트가 없음) 속성은 이전에 선택된 속성입니다. 즉 붉은 색을 선택한 경우 모든 텍스트를 삭제하고 새 텍스트를 입력하면 붉은 색을 유지하므로이 새 텍스트의 색과 글꼴 기본값을 갖기를 원합니다. 나는 무기 호에 attributedText를 설정하려고했지만, 나는 텍스트 뷰가 텍스트가 없음을 표시하는 방법을 모른다, 나는 UITextView 확장에 다음 코드가 : 당신은 다시 속성을 다시 설정해야지울 때 textView에서 attributedText의 속성을 재설정합니다. Swift

func setAttributedValueAtSelectedTextRange(_ attributeName: String, value: Any) { 
    let textRange = selectedRange 
    let selectedText = NSMutableAttributedString(attributedString: attributedText) 
    selectedText.addAttribute(attributeName, value: value, range: textRange) 
    attributedText = selectedText 
    selectedRange = textRange 
    attributedText = nil 
} 
+0

noteTextView.text == "" " –

+0

이미 확인했는데 작동하지 않습니다. –

+0

마릴린 .. 문제가 뭐니? if 조건이나 글꼴을 바꾸지 않을 것인가? –

답변

0

을 올바른 점을 결정할 때 기본값으로 설정하십시오. 예. textField.textColor = UiColor.black

2

새로 입력 한 텍스트에 적용될 특성은 typingAttributes 속성에서 가져옵니다. 텍스트가 선택되면 자동으로 변경되므로 새 텍스트는 대체되는 텍스트와 일치하거나 선택 사항이 비어 있으면 그 텍스트보다 우선합니다.

귀하의 경우에는 빈 사전으로 설정하여 삭제할 수 있습니다.