这个问题可能看起来很愚蠢。但我想知道&检查正确的写作方式&把我的代码分组。
考虑一下我为iPhone和iPhone编写应用程序iPad兼容。我是按代码编写而不是使用故事板。
保留代码的建议方法是什么?
我在此解释了我使代码更加可见和更可重用的内容。如有任何错误,请纠正我。
说,我的控制器是 iPhoneListViewController 和 iPadListViewController
这两个控制器都是完全自定义的控制器,它们是 ListViewController 的子代,它包含一些常用方法(UI相关和功能相关)。 ListViewController 是UIViewController的子类。
其他自定义控制器,自定义视图,单件类,协议单独保存。
问题:
答案 0 :(得分:2)
1)。当你瞄准iPhone和iPhone时iPad,你可以有两个单独的类。根据我的观点,没有更好的方法来隔离除此之外的代码。
仅为UI部分提供了一条建议:您可以将文件名用作MyListViewController~iPhone.xib
& MyListViewController~iPad.xib
代表您的文件。这种方法的优点是,iOS将根据您的应用程序运行的设备类型自动选择正确的xib。即你可以创建一个像MyListViewController lvc= [[MyListViewController alloc]initWithNibName:"MyListViewController" bundle:nil];
。
2)。分离HD /非HD代码看起来并不好看。通过查看不同设备大小的数量,我认为您应该使用自动布局来使您的UI响应,而不管设备大小。
答案 1 :(得分:1)
在iOS8中,Apple有一个上传类来处理这类事情。 iPad是常规宽度常规高度的设备,iPhone是紧凑宽度的常规高度设备等等。所以如果您的界面没有太大差异,那么对所有设备使用相同的类会更好,并且依赖于调整类(这意味着屏幕的容量)来进行布局。自动布局也有助于制作自适应UI。我们永远不会知道Apple将来会有多少尺寸的设备。