Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 对于只使用iPad组件的通用应用程序,什么是合适的设计模式?_Iphone_Objective C_Ios_Ipad_Ios Universal App - Fatal编程技术网

Iphone 对于只使用iPad组件的通用应用程序,什么是合适的设计模式?

Iphone 对于只使用iPad组件的通用应用程序,什么是合适的设计模式?,iphone,objective-c,ios,ipad,ios-universal-app,Iphone,Objective C,Ios,Ipad,Ios Universal App,我正在为一个只支持iPad的应用程序添加通用支持。第一个屏幕有一个视图,其中包含一个用于访问应用程序设置的按钮。目前,仅在iPad版本中,设置显示在UIPopoverView中,UIPopoverController是应用程序视图控制器的一个属性。在iPhone版本中,它应该使用一个模式弹出窗口,但问题是如何打破视图控制器和视图的现状 @interface ClientSelectionController : UIViewController <UISearchBarDelegate,

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

@interface ClientSelectionController : UIViewController <UISearchBarDelegate, UIAlertViewDelegate>
{
@private
    UIPopoverController *settingsPopover;
}

-(IBAction)btnSettingsTouchedDown:(id)sender;
@end
@interface ClientSelectionController:UIViewController
{
@私人的
UIPopoverController*设置Pover;
}
-(IBAction)btnSettingsTouchedDown:(id)发送方;
@结束

我应该为控制器创建两个不同的视图类,并将UIPopoverController作为ClientSelectionView\u iPad版本的子版本,还是应该创建两个不同版本的ClientSelectionController,其中一个带有UIPopover,另一个是模式弹出窗口?

您将首先了解您使用的是哪种设备

if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) {
//iphone
    } else {
//ipad
    }
然后分别调用popover/modal

通常情况下,您将有2个xib文件到一个视图控制器。一个用于iphone,一个用于ipad,因为分辨率不同