UILabel UITextField UITextView


70

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

是一个UITextField不可编辑的有效地UILabel吗?

那些本质上是一样的吗?

Answers:


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

所以:

  • 标签是只读的
  • 文本字段是可编辑的,当文本太长而无法一次全部显示时,它们可提供水平字符查找(不是真正的滚动)。通常用于输入短文本。
  • 文本视图也是可编辑的,但是当文本太长而无法一次全部显示时,可以提供垂直滚动。

6
怎么回答这个问题:“不可编辑的UITextField实际上是UILabel吗?”。IE在未启用的UITextField和UILabel之间在呈现或行为方面存在任何差异。
菲利普·吉罗拉米

2
谢谢您.....您已经节省了15分钟的痛苦而刻意的研究!!!:)
J-Dizzle '16

25

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


6
应该刚刚发表评论。
John Riselvato

您也可以让设备说出UILabel的文本吗?
Petar 2015年

@ Petar,Amory意味着用户可以通过选择他们想听的文本并使用联系人菜单来选择自己说文本。
vrwim

您也可以复制文本字段的内容。
rak appdev '17

11
  • UILabel-用于静态文本呈现,
  • UITextField-是一个输入字段,
  • UITextView-是多行输入字段

这是否意味着UITextView是启用了多行的有效UITextField?
user4951 2011年

3
UITextField的基类是UIControl和UIView,因此不能像UITextView一样滚动。UITextView基类是UIScrollView UIView。如果我想要像文本窗格这样的可自我扩展的滚动编辑器,请使用UITextView。如果我只想简单输入而不滚动,则使用UITextField。
罗基


0

除此之外,还有:只有使用UILabel才能获得自动缩小功能,否则,您应该实现该功能(如果需要)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.