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