为通用应用程序制作2个独立的应用程序代表?

时间:2011-08-05 03:29:44

标签: iphone objective-c xcode ipad

我应该为通用应用制作2个独立的应用代表吗?一个myAppDelegate,然后myAppDelegate_iPhone和myAppDelegate_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;
    }

3 个答案:

答案 0 :(得分:0)

这个问题似乎与此类似。

Universal iPhone/iPad AppDelegate

Apple的这份文档也可能有用。

Introduction to Universal Apps

答案 1 :(得分:0)

无需两个单独的申请代表。您可以根据条件进行编码......

    if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad){}

这将自动检测设备。

答案 2 :(得分:0)

要在设备上启用旋转,您需要将YES返回

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    // Return YES for supported orientations
    return YES;
}

适用于所有观看控制器。

您还应该在xcode 4下为plist或info添加支持的方向。

还要记住,堆栈溢出时更喜欢在问题主题发生变化时询问新问题:)