UILabel UITextField UITextView

What's the 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.