Swift:水平滚动UITextView

时间:2017-04-10 11:57:36

标签: ios swift uitextview

我想在标签上显示选定的联系人,这些联系人可以像在Snapchat中一样滚动。经过stackoverflow上的很多问题后,我使用了Textview,因为它是可滚动的。

@IBOutlet weak var selectedContactsDisplay: UITextView!
selectedContactsDisplay.delegate = self
selectedContactsDisplay.backgroundColor = UIColor.appColor()     
selectedContactsDisplay.textColor = UIColor.white
selectedContactsDisplay.textContainer.maximumNumberOfLines = 1
selectedContactsDisplay.textContainer.lineBreakMode = NSLineBreakMode.byTruncatingHead

let stringOne = selectedContactName.joined(separator: ",")
selectedContactsDisplay.text = stringOne

func textViewDidBeginEditing(_ textView: UITextView) {
    textView.resignFirstResponder()
}

但是,水平滚动仍然无法实现。有人可以帮助我如何启用滚动。

2 个答案:

答案 0 :(得分:1)

您不能自己滚动TextView,您可以做的是启用autoScroll:

@IBOutlet weak var selectedContactsDisplay: UITextView!
selectedContactsDisplay.delegate = self
selectedContactsDisplay.backgroundColor = UIColor.appColor()     
selectedContactsDisplay.textColor = UIColor.white
selectedContactsDisplay.textContainer.maximumNumberOfLines = 1
selectedContactsDisplay.textContainer.lineBreakMode = NSLineBreakMode.byTruncatingHead


let stringOne = selectedContactName.joined(separator: ",")
selectedContactsDisplay.text = stringOne

func textViewDidBeginEditing(_ textView: UITextView) {
    textView.resignFirstResponder()
let range = NSMakeRange(selectedContactsDisplay.text.characters.count - 1, 0)
selectedContactsDisplay.scrollRangeToVisible(range)
}

答案 1 :(得分:0)

您无法在UITextView中水平滚动。对于解决方案,您可以使用UIScrollView可以水平滚动,并可以添加标签或文本字段,并根据您的内容增加该标签的宽度!应该设置适当的约束!

相关问题