【问题标题】:Layout Manager, or is there a better solution?布局管理器,还是有更好的解决方案?
【发布时间】:2010-10-11 16:41:33
【问题描述】:

我有一个表格视图,其中单元格可以显示可变数量的信息。例如,第一个单元格可以显示 2 个标签,下一个单元格可以显示 5 个标签,第三个单元格可以显示 1 个标签。单元格内容存储在托管对象中。

我想让这个数据驱动,我有一个 plist 来配置单元格。我在想我可以创建一个布局管理器来读取配置数据并智能地确定如何显示标签。

有没有更好的方法来使用 UIKit 做到这一点?我意识到最终我可以使用 Core Text 来进行文本渲染,但我希望这是一个实现细节。对于初学者来说,我很乐意只使用动态设置的 UILabel。

编辑:

从配置文件驱动它的一个副作用是我可以在应用部署后更新这些配置。我也可能会考虑生成的 xib 文件以供下载,但理想情况下我只想提供二进制 plist。

【问题讨论】:

    标签: iphone ipad uikit ios


    【解决方案1】:

    如果您所做的只是配置具有可变数量标签的单一类型的表格视图单元格,那么这似乎只是用于布置正确数量标签的一次性代码。我无法从您的问题中完全看出您在进行程序化布局方面的经验水平;如果您是在 IB 之外做 UI 的新手,请告诉我们。

    谈到“布局管理器”的更多想法,请考虑 NIB/XIB 系统本身实际上是一个数据驱动的布局引擎。如果您正在考虑足够通用的东西以指定显式布局和视图属性,请考虑这就是 XIB 文件的基本内容——一种模式化的 XML 布局。请参阅命令行工具 ibtool 的文档(manpage here)以了解有关如何操作它们的更多信息。

    如果您的布局需求对您的应用来说足够具体,但过于笼统而无法使用一组固定的 XIB 来处理,那么请考虑使用您所描述的轻量级管理器。但在开始构建超级通用的东西之前,我会认真思考。这里相当于Zawinski's law,任何布局管理器最终都会包含越来越多的XIB功能。

    【讨论】:

    • 感谢您的回复!我在 iOS 开发方面相当有经验,并且对 AppKit 也很了解。我会看看 ibtool ,看看里面是否有什么可以帮助我的。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-05
    • 1970-01-01
    • 2015-02-04
    • 2016-12-29
    • 1970-01-01
    • 2017-12-04
    相关资源
    最近更新 更多