使用仅限 iPad 的组件的通用应用程序的正确设计模式是什么?



我正在为仅限iPad的应用程序添加通用支持。第一个屏幕有一个视图,其中包含用于访问应用程序设置的按钮。目前,在仅限iPad的版本中,设置显示在UIPopoverView中,UIPopoverController是应用程序视图控制器的属性。在iPhone版本中,它应该使用模式弹出窗口,但问题是如何分解视图控制器和视图

@interface ClientSelectionController : UIViewController <UISearchBarDelegate, UIAlertViewDelegate>
{
@private
    UIPopoverController *settingsPopover;
}
-(IBAction)btnSettingsTouchedDown:(id)sender;
@end

我应该为控制器创建两个不同的视图类,并使 UIPopoverController 成为ClientSelectionView_iPad版本的子级,还是应该创建两个不同版本的 ClientSelectionController,一个使用 UIPopover,另一个使用模式弹出窗口?

您将首先找出您使用的设备类型

if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) {
//iphone
    } else {
//ipad
    }

然后分别调用弹出框/模态

通常,尽管您将有 2 个 XIB 文件到单个视图控制器。 一个用于iPhone的xib和一个用于iPad的xib,因为分辨率不同

最新更新