【问题标题】:iOS UI best practice - UILabel or UITextView?iOS UI 最佳实践 - UILabel 或 UITextView?
【发布时间】:2013-08-06 01:38:15
【问题描述】:

例如,如果您正在为 iPhone 应用程序创建 UIView 以显示博客中的文章。

您会推荐什么 UI 组件来显示文章的正文? UILabelnumberOfLines 等于 0 或 UITextView 没有滚动和固定大小?

为什么?

【问题讨论】:

  • 我同意@Vishnu Kumar 在下面的回答:我需要为我的应用程序显示一个“工具提示”,最简单的方法是使用UITextView 并将isEditable 设置为false(使其静态)。

标签: iphone ios user-interface uilabel uitextview


【解决方案1】:

更新:正如我在下面评论的那样,我同意这不是当今最好的答案。早在 2013 年它就更准确了,但今天你应该对大文本字段使用文本视图。我不能删除这个,因为它是公认的答案,但我同意(并投票支持)下面毗湿奴的答案。

这在一定程度上取决于您到底想做什么。

如果您需要显示没有编辑功能和选择功能的静态文本,您应该使用UILabel 并在必要时将其放在UIScrollView 中。

如果您需要选择或编辑,请使用UITextView

【讨论】:

  • 嘿阁楼!这完全有道理。感谢您的回答。
  • 我觉得你的回答是错误的,请看下面的。
  • Text Programming Guide for iOS in @Vishnu 下面的答案是这个问题的正确答案。它甚至建议如何查看网络内容,例如博客文章(引用:Use Web Views to Display Web Content)。
  • 同意这不是当今最好的答案。早在 2013 年它就更准确了,但今天你应该对大文本字段使用文本视图。我不能删除这个,因为它是公认的答案,但我同意(并投票支持)下面毗湿奴的答案。
  • 但是你不能为文本视图指定换行内容;你如何使它只适合呈现的单词?
【解决方案2】:

很抱歉回复晚了,但这可能对某人有所帮助。

根据 Apple 的 iOS 文本编程指南,UILabel 定义了一个标签,该标签显示一个静态文本字符串。 UITextField 定义了一个文本字段,它显示单行可编辑文本。 UITextView 定义了一个文本视图,它显示多行可编辑的文本。尽管这些类实际上可以支持任意数量的文本的显示,但标签和文本字段旨在用于相对少量的文本,通常是单行。另一方面,文本视图旨在显示大量文本。

更多信息请查看:Text Programming Guide for iOS

【讨论】:

    【解决方案3】:

    您会推荐什么 UI 组件来显示文章的正文? numberOfLines 的 UILabel 等于 0 或没有的 UITextView 滚动和固定大小?

    让我们参考来自 Apple 的官方 documentation,了解应用中文本内容的使用指南。

    据此,UIKit 框架提供了三个主要类用于在应用程序的用户界面中显示文本内容:UILabelUITextFieldUITextView

    以下行暗示了针对特定用例的可能建议:

    虽然这些类实际上可以支持任意的显示 大量的文本、标签和文本字段旨在用于 相对少量的文本,通常是单行。文本视图, 另一方面,用于显示大量文本。

    如果我们考虑显示文章的用例,可以公平地假设它将具有大量文本内容。因此,如果我们应用上述准则,UITextView 似乎是完成这项工作的更好工具。

    接下来,当用户阅读文章文本时,UITextView 有可选择的文本。这意味着用户可以从文章中复制特定的行或让设备说出文本。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-10-03
      • 2011-06-09
      • 1970-01-01
      • 1970-01-01
      • 2020-03-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多