2017-04-10 105 views
1

我想在可以像Snapchat一樣滾動的標籤上顯示選定的聯繫人。在經歷了很多關於stackoverflow的問題之後,我使用了Textview,因爲它是可滾動的。Swift:水平滾動UITextView

@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() 
} 

但是,水平滾動仍然是不可能的。有人可以幫助我如何啓用滾動。

+0

你不能在水平'UITextView'滾動! – Lion

+0

@Ananth集合視圖和表格視圖也是可滾動的。以及UIScrollView的子類。 –

+0

你可以做的是啓用autoScroll。 http://stackoverflow.com/a/35018590/6203030 –

回答

0

您無法在UITextView中水平滾動。對於解決方案,您可以採用UIScrollView,它可以水平滾動,並可以添加標籤或文本字段,並根據您的內容增加標籤的寬度!應該設置適當的約束!

+0

非常感謝。我設法按照你的建議去做。 – Ananth

+0

不客氣:) – Lion

+0

我有一個問題。現在,我如何滾動到標籤文本的末尾。現在,即使我添加新數據,它也只是顯示文本的開始部分。 – Ananth

0

不能在自己一個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() 
let range = NSMakeRange(selectedContactsDisplay.text.characters.count - 1, 0) 
selectedContactsDisplay.scrollRangeToVisible(range) 
}