ios - 使用 UIWebView 而不是 native UI 元素来显示复杂的响应式布局是一个好习惯吗?

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

我正在开发一个 native iOS 应用程序,主要使用 Cocoa 触摸 UI 元素。但对于一个特定的屏幕,我发现使用原生 cocoa 元素来获得响应式布局非常困难且耗时: enter image description here

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

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

最佳答案

如果屏幕上的所有内容都是非交互式文本,那么使用 UIWebView 比使用大量 native ui 控件和它们之间的关系真的更容易。
但总的来说,使用 UIWebView 而不是原生控件有一些缺点:

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

关于ios - 使用 UIWebView 而不是 native UI 元素来显示复杂的响应式布局是一个好习惯吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23383686/

相关文章:

ios - 我有一个可以在多个线程上访问的单例,它的每个数组都应该有一个单独的调度队列吗?

android - 使用免费 IOS 应用程序的 SaaS 模型的订阅计费

ios - NSPredicate 和核心数据 : retrieve objects among relationships

ios - 以编程方式推送到导航堆栈中的 View Controller [2],然后展开到 [1]

ios - dataTaskWithURL doco是什么意思:{NSURLErrorDomain,NSURLErrorCancelled}的错误值是什么意思?

ios - 使用 UISplitViewController 时是否可以显示真正的 Popover 而不是默认的滑出式菜单?

objective-c - 相似的代码行,截然不同的性能

ios - 如何复制 ios 版本的 iPhone?

iphone - 删除iOS应用程序中的cookie

ios - 如何切换 View 和释放先前 View 的内存