开发者

UILabel UITextField UITextView

What's the开发者_StackOverflow中文版 fundamental difference between them?

Is a UITextField that's not editable is effectively a UILabel?

Are those essentially the same?


  • UILabel: "The UILabel class implements a read-only text view."
  • UITextField: "A UITextField object is a control that displays editable text and sends an action message to a target object when the user presses the return button."
  • UITextView: "The UITextView class implements the behavior for a scrollable, multiline text region."

So:

  • labels are read-only
  • textfields are editable, and provide horizontal character seeking (not really scrolling) when the text is too long to display all at once. Generally used to input short text.
  • textviews are also editable, but provide vertical scrolling when the text is too long to display all at one.


In addition to the above answers, UITextView has selectable text. This means that you can copy it or get the device to speak the text.


  • UILabel - used for static text rendering,
  • UITextField - is an input field,
  • UITextView - is a multiline input field


Finally Apple have covered this part in this amazing talk:

https://developer.apple.com/videos/play/wwdc2018/221/

The key takeways is as followed:

UILabel UITextField UITextView


Also in addition to this: Only with UILabel you can get the Auto shrink feature, otherwise you should implement that (if needed)

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜