我知道该怎么做在你们的帮助下:D,谢谢,我们开始吧!
1.所以,首先,我们需要一个 longlonglong 字符串,对吗?
let displayStr = "1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20\n1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 "
2.假设我们有一个 UIScrollView,其链接为@IBOutlet
或通过致电获得.viewWithTag(xxx)
.我们将其命名为scroll
:
3.是时候获得size我们的字符串,这是我们将使用它的一个关键函数:
哦!我几乎忘记定义什么样的Font(这是一个至关重要的参数)我们将使用,什么是max-size我们字符串的大小
let maxSize = CGSizeMake(9999, 9999)
let font = UIFont(name: "Menlo", size: 16)!
//key function is coming!!!
let strSize = (displayStr as NSString).boundingRectWithSize(maxSize, options: NSStringDrawingOptions.UsesLineFragmentOrigin, attributes: [NSFontAttributeName : font], context: nil)
4.好的,现在我们可以将字符串放入textView中,您需要以编程方式创建一个新的UITextView
,这样我们就可以定义与字符串大小相同的框架(哦,也许更大一点:D):
let frame = CGRectMake(0, 0, size.width+50, size.height+10)
let textView = UITextView(frame: frame)
textView.editable = false
textView.scrollEnabled = false//let textView becomes unScrollable
textView.font = font
textView.text = displayStr
5.回到我们的scroll
,我们将其设置为contentSize
:
scroll.contentSize = CGSizeMake(size.width, size.height)
6.最后添加Subview:scroll.addSubview(textView)
你可以看到,textView 嵌入在一个scrollView 中,这使得它可以
向 2 个方向滚动。
顺便提一句。我的工具只是一个演示
静态字符串。如果你希望用户使用不会排队的textView
如果他不输入任何“\n”则换行,你可能需要动态计算
字符串大小。 :D
[我希望这个能帮上忙]