Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/37.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 为通用应用程序制作两个单独的应用程序代理?_Iphone_Objective C_Xcode_Ipad - Fatal编程技术网

Iphone 为通用应用程序制作两个单独的应用程序代理?

Iphone 为通用应用程序制作两个单独的应用程序代理?,iphone,objective-c,xcode,ipad,Iphone,Objective C,Xcode,Ipad,我应该为一个通用应用程序创建两个单独的应用程序代理吗?一个myAppDelegate,然后是myAppDelegate\u iPhone和myAppDelegate\u iPad,它们是什么子类?原因是iPhone应该有NavController的IBOutlet,而iPad应该是UISplitViewController 另外,我如何区分iPhone和iPad之间的操作。例如,iphone上的按钮可能会推动视图,但在iPad上,我希望有一个小窗口弹出窗口,而不是全屏推动。我是否只是使用if/e

我应该为一个通用应用程序创建两个单独的应用程序代理吗?一个myAppDelegate,然后是myAppDelegate\u iPhone和myAppDelegate\u iPad,它们是什么子类?原因是iPhone应该有NavController的IBOutlet,而iPad应该是UISplitViewController

另外,我如何区分iPhone和iPad之间的操作。例如,iphone上的按钮可能会推动视图,但在iPad上,我希望有一个小窗口弹出窗口,而不是全屏推动。我是否只是使用if/else语句来检查iPad(通过uiswitchviewcontroller)是否正确,然后从那里开始

if (NSClassFromString(@"UISplitViewController") != nil && UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
        //currentDeviceType = iPad;
    }
    else {
        //currentDeviceType = iPhone;
    }

这个问题似乎也有相似之处

苹果公司的这份文件可能也会有帮助


无需接受两个单独的应用程序委托。您可以根据以下条件编写代码

    if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad){}

这将自动检测设备。

要在设备上启用旋转,您需要返回“是”

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    // Return YES for supported orientations
    return YES;
}
用于所有视图控制器

您还应该将支持的方向添加到xcode 4下的plist或info中


还要记住,stack overflow更喜欢在问题主题更改时问一个新问题:)

谢谢,你能告诉我如何快速在iPad上为我的ViewController启用旋转吗?对不起,我不太熟悉:PSo我可以在1个文件中将UINavigationController和UISplitScreenController添加到我的应用程序代理中?是的,你可以。只需设置适当的出口并相应地维护应用程序委托代码。