0
我想創建一個可編輯文本的大圖,但似乎有1個選項:使用一個小UITextField。多行可編輯的文本片段:可編輯的UILabel?
我知道UILabels可能大而寬,但我不知道如何製作可編輯的UILabel。
我用UILabel屬性和.layer
方法進行了實驗,但沒有任何東西看起來真的起作用。有人建議我應該做什麼?
總之,我正在尋找一個多行可編輯的文本片段。
我想創建一個可編輯文本的大圖,但似乎有1個選項:使用一個小UITextField。多行可編輯的文本片段:可編輯的UILabel?
我知道UILabels可能大而寬,但我不知道如何製作可編輯的UILabel。
我用UILabel屬性和.layer
方法進行了實驗,但沒有任何東西看起來真的起作用。有人建議我應該做什麼?
總之,我正在尋找一個多行可編輯的文本片段。
UITextView獲勝!
UITextViews允許對文本進行多行處理,如果您使用UITextViewDelegate,它可以提供允許在單擊textView時等特定事物的方法。
使用UITextView,您可以提供特定數量的行(如果您只需要3個,您可以指定它),並且還可以提供超鏈接(如果需要)。
下面是一個例子,我有(稍有變化),以示對雅爲例...
let textBox:UITextView = UITextView(frame: CGRect(x: firstBox.frame.width*0, y: firstBox.frame.height*0.375, width: firstBox.frame.width*1, height: firstBox.frame.height*0.5))
textBox.backgroundColor = UIColor.clearColor()
let websiteName = "http://stackoverflow.com/posts/38035564"
textBox.text = "SO is an awesome coding site! Please visit\n\(websiteName)"
//No need to set number of lines, it will auto set to as many as needed!
textBox.editable = false
textBox.selectable = true
//Register the hyperlink
textBox.dataDetectorTypes = UIDataDetectorTypes.All
textBox.textColor = UIColor.grayColor()
//Change only the hyperlink part
let textRange = NSMakeRange(textBox.text.characters.count-websiteName.characters.count, websiteName.characters.count)
let style = NSMutableParagraphStyle()
style.alignment = NSTextAlignment.Center
let attributedText = NSMutableAttributedString(string: textBox.text, attributes: [NSFontAttributeName:UIFont(
name: (textBox.font?.fontName)!,
size:13/15*fontSize)!,
NSParagraphStyleAttributeName: style])
attributedText.addAttribute(NSUnderlineStyleAttributeName , value:NSUnderlineStyle.StyleSingle.rawValue, range: textRange)
textBox.attributedText = attributedText
firstBox.addSubview(textBox)
你是最棒的!兩顆金星!其中一個爲正確答案,其次爲你的熱情。乾杯! –
謝謝先生!隨時在這裏發佈更多的問題/評論,我會幫助!祝你的編碼冒險! – impression7vx