【发布时间】:2013-07-30 15:36:46
【问题描述】:
我正在尝试开发一个通用的 iOS 应用程序,理想情况下我正在尝试尽可能多地重复使用代码。
我正在使用情节提要,因此 UI 被分割成场景。
在 iPhone 故事板中,有问题的特定场景最适合表格视图。 在 iPad 情节提要中,情节提要中的等效场景理想情况下会实现 UICollectionView,从而在网格中呈现内容。
两个视图都应该实现一个下拉刷新控件,在一种情况下调用 [UITableView reloadData],在另一种情况下调用 [UICollectionView reloadData]。
任何人关于如何获得最大数量的代码重用的任何建议,即。控制器类是什么样的?
一种选择是拥有 1 个同时符合 UITableView 协议和 UICollectionView 协议的整体类,但这感觉不对。
另一种选择是创建一个基类,然后使用 iPhone 和 iPad 的特化子类对其进行子类化。虽然这感觉更干净,但我仍然认为可能有更好的方法。在我第一次尝试时,感觉特化类中的代码比基类中的要多。
我考虑的第三个计划是简单地在两个应用程序中使用 UICollectionView,从而消除控制器的复杂性。希望我可以将集合视图的布局强制为 iPad 上的网格,同时告诉它模仿 iPhone 上的表格视图。
虽然从表面上看这听起来很容易,但我正在努力让 UICollectionView 像正常的表格视图一样工作。
有什么建议吗?
非常感谢,
加利福尼亚州。
【问题讨论】:
-
你决定走哪条路了吗?
标签: ios uitableview uicollectionview ios-universal-app