Cocoa touch UILabel UITextField UITextView

Cocoa touch UILabel UITextField UITextView,cocoa-touch,Cocoa Touch,它们之间的根本区别是什么 不可编辑的UITextField实际上是UILabel 这些基本相同吗? :“UILabel类实现只读文本视图。” :“当用户按下返回按钮时,UITextField对象是一个显示可编辑文本并向目标对象发送操作消息的控件。” :UITextView类实现可滚动多行文本区域的行为 因此: 标签是只读的 文本字段是可编辑的,当文本太长而无法一次显示时,可提供水平字符搜索(不是真正的滚动)。通常用于输入短文本 文本视图也是可编辑的,但当文本太长而无法一次显示时,可以提供垂直

它们之间的根本区别是什么

不可编辑的
UITextField
实际上是
UILabel

这些基本相同吗?

  • :“UILabel类实现只读文本视图。”
  • :“当用户按下返回按钮时,
    UITextField
    对象是一个显示可编辑文本并向目标对象发送操作消息的控件。”
  • UITextView
    类实现可滚动多行文本区域的行为
因此:

  • 标签是只读的
  • 文本字段是可编辑的,当文本太长而无法一次显示时,可提供水平字符搜索(不是真正的滚动)。通常用于输入短文本
  • 文本视图也是可编辑的,但当文本太长而无法一次显示时,可以提供垂直滚动
      • UILabel-用于静态文本 渲染
      • UITextField-是一个输入 场
      • UITextView-是一个多行 输入字段

      除了上述答案之外,UITextView还有可选文本。这意味着您可以复制它或让设备说出文本。

      此外:只有使用UILabel,您才能获得自动收缩功能,否则您应该实现这一点(如果需要)

      最后,苹果在这篇精彩的演讲中介绍了这一部分:

      主要采取的措施如下:


      这是否意味着UITextView在启用多行的情况下是有效的UITextField?UITextField基类是UIControl,UIView,因此它不能像UITextView那样滚动。UITextView基类是UIScrollView UIView。如果我想要一个像文本窗格一样的自扩展滚动编辑器,我就使用UITextView。如果我只想要一个没有滚动的简单输入,我就使用UITextField。这是如何回答这个问题的:“一个不可编辑的UITextField实际上是一个UILabel吗?”。UIExtField未启用与UILabel在呈现或行为方面是否有任何差异。谢谢您。。。。。你已经节省了15分钟痛苦、深思熟虑的研究!!!:)应该是评论。你也可以让设备说出UILabel的文本?@Petar,Amory意味着用户可以选择自己要听到的文本并使用“联系人”菜单来说出文本。你也可以复制文本字段的内容。