【问题标题】:Is that a good practice to use UIWebView instead of native UI elements to show complex responsive layouts?使用 UIWebView 而不是本机 UI 元素来显示复杂的响应式布局是一种好习惯吗?
【发布时间】:2014-06-16 12:20:06
【问题描述】:

我正在开发一个原生 iOS 应用,主要使用 Cocoa 触控 UI 元素。但是对于一个特定的屏幕,我发现使用原生可可元素来获得响应式布局非常困难且耗时:

问题是我需要设置很多约束,引入容器视图等。 如果需要超过 1 行等,我需要以编程方式计算标签大小并调整大小...

似乎用 HTML 构建它会更容易、更可靠并且将来更容易修改。 使用 UIWebView 而不是本机 UI 元素来显示此类布局是一种好习惯吗?我会遇到什么问题?

【问题讨论】:

    标签: ios objective-c cocoa-touch uiwebview responsive-design


    【解决方案1】:

    不,这不是原生应用的好习惯。您需要决定将来哪种方式更容易实施和修改。前任。您可以为上述设计创建带有自定义单元格的表格视图。

    【讨论】:

    • 如果你以后改变UI,它会更复杂。如果要添加 UIButton 或 UITextView .... ,会很复杂。一般来说,在 UIWebview 中进行设计是糟糕的设计。但如果你用作模板,可能是合适的。
    • UICollectionView 在这里能满足您的需求吗?
    【解决方案2】:

    如果您屏幕上的所有内容都是非交互式文本,那么使用UIWebView 确实更容易,而不是使用大量的原生 ui 控件和它们之间的关系。
    但总的来说,使用UIWebView 代替原生控件几乎没有缺点:

    1. 通过 Web 视图实现交互式控件并非易事(如果将来您的标签可能变得可点击和交互式,那么最好使用 UICollectionView + UILabels 工具集)。
    2. 编译器分析器无法检查网页视图的内容,因为通常NSString 用于存储内容。因此,通过 web view 实现的那部分逻辑很难调试。
    3. 一般而言,Web 视图对象需要比其他本机触摸控件更多的内存分配。但我不确定你的情况是否如此(需要使用大量 UILabel 对象)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-07-01
      • 2016-02-10
      • 2016-11-30
      • 1970-01-01
      • 2019-05-30
      • 1970-01-01
      • 2012-11-30
      • 1970-01-01
      相关资源
      最近更新 更多