UITextView
에서 .text 값을 가져 와서 문자열로 변환하는 데 문제가있어서 색인을 생성하고 "\ n"에 문자열을 침을 뱉을 수 있습니다. 내가 따옴표로 문자열을 전달하면 그것은 작동하지만 그것이 "\ n"여기UITextView 값이 문자열로 변환되지 않습니다.
에 분할 거부합니다 찾아야하는 것은 .text 값을 사용하는 경우 내 기능입니다 : 여기
func formatLabel(string: String, title_color: UIColor, title_font_size: CGFloat, title_font_weight: UIFont.Weight, subtitle_color: UIColor, subtitle_font_size: CGFloat) -> NSMutableAttributedString {
//getting the range to separate the button title strings
let index = string.index(of: "\n") ?? string.endIndex
let substring1 = String(string[..<index])
let substring2 = String(string[index...])
print("string:", string)
print("index: ",index)
print("line 1", substring1)
print("line 2", substring2)
}
내의 ViewController 코드 :
나는 선 ("\ n을"의) 인덱스에 휴식을 얻을 수 없다, 그래서
string: Title\nSub Title
index: Index(_compoundOffset: 64, _cache:
Swift.String.Index._Cache.utf16)
line 1 Title\nSub Title
line 2
string: Title
Sub Title
index: Index(_compoundOffset: 20, _cache: Swift.String.Index._Cache.character(1))
line 1 Title
line 2
Sub Title
: 여기
@IBAction func btnUpdate(_ sender: Any) {
txtOutput.attributedText = formatLabel(string: txtInput.text!, title_color: UIColor.gray, title_font_size: 17, title_font_weight: UIFont.Weight.bold, subtitle_color: UIColor.lightGray, subtitle_font_size: 13)
txtOutput2.attributedText = formatLabel(string: "Title\nSub Title", title_color: UIColor.gray, title_font_size: 17, title_font_weight: UIFont.Weight.bold, subtitle_color: UIColor.lightGray, subtitle_font_size: 13)
}
인쇄 출력 때 UITextView 컨트롤을 사용하지만 리터럴 텍스트를 사용할 때 잘. Swift 4에서 알 수있는 것은 CompoundOffset을 처리하기 위해 수행해야하는 펑키 한 작업입니다. 그게 잘 설명되어 있지 않아서 내 문제를 해결하는 방법을 알아낼 수없고 컨트롤 텍스트가 문자열로 작동하도록 할 수 없습니다. 어떤 도움을 주시면 감사하겠습니다.
첫 번째 게시물 ... 죄송합니다. 그것을 강화했습니다. – David
출력물에서,'UITextView'는 백 슬래쉬와'n'을 포함하고 있습니다. 이것은'\ n "'같은 하나의 개행 문자입니다. – vacawama
텍스트보기에서 타이핑 할 때 실제로 문자 \ 다음에 'n'을 입력하지 마십시오. 새 줄을 입력하려면 키보드의 Enter 키를 누릅니다. – rmaddy