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
: "TheUILabel
class implements a read-only text view."UITextField
: "AUITextField
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
: "TheUITextView
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:
Also in addition to this: Only with UILabel you can get the Auto shrink feature, otherwise you should implement that (if needed)
精彩评论