0

我想在我的 iPhone 应用程序中创建一个文本显示区域(UILabel 或 UITextView),它 (1) 允许滚动并且 (2) 不允许选择。我尝试了以下技术,但均未成功:

  1. 基本 UILabel:不允许滚动,并将文本剪切到屏幕上 UILabel 空间的底部。
  2. UIScrollView 中的巨型 UILabel:UILabel 一直将文本(垂直)放置在巨型 UILabel 的中心,因此它通常位于我的 UIScrollView 之外。
  3. UITextView:到目前为止,这种方法效果最好,因为它滚动而不剪切文本。我什至可以继承 UITextView 以调整文本大小以适应 textview并将任何触摸事件传递给 superview 以检测点击和滑动但是,当用户点击并按住文本本身时,会出现文本选择界面。我对这个界面不感兴趣,它实际上分散了用户的体验。我试图子类canPerformAction:withSender:化,但显然这个函数是在点击事件之后调用的——而不是在它之前。

有谁知道如何在不禁用滚动的情况下禁用 UITextView 中的文本选择界面?

4

1 回答 1

1

采用选项 2,但将numberOfLines您的属性设置UILabel0. 这会将行数设置为“无限”并防止文本垂直居中。

不要忘记将lineBreakMode属性设置为,UILineBreakModeWordWrap这样您的文本就不会超出UILabel.

于 2010-08-03T15:08:52.933 回答