2011-08-05 129 views
0

我應該爲通用應用程序製作2個單獨的應用程序代表嗎?一個myAppDelegate,然後是myAppDelegate_iPhone和myAppDelegate_iPad,它們是子類?原因是iPhone應該有NavController的IBOutlet,而iPad應該是UISplitViewController。爲通用應用程序製作2個獨立的應用程序代表?

另外,如何分開iPhone和iPad之間的操作。例如,iPhone上的按鈕可能推動視圖,但在iPad上,我想要一個小窗口彈出窗口而不是全屏幕推送。我只是使用if/else語句來檢查iPad(由uiswitchviewcontroller)然後從那裏出發?

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

回答

0

沒有必要採取兩個獨立的應用程序的代表。您可以編寫代碼的條件...

if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad){} 

這會自動檢測設備。

+0

因此,我可以將UINavigationController和UISplitScreenController添加到我的應用程序委託中的一個文件中? – Jon

+0

是的,你可以。只需要設置適當的Outlet並相應地維護應用程序委託代碼即可。 –

0

要在設備上啓用旋轉,你需要YES返回

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

FOR ALL您的視圖控制器。

您還應該添加您的支撐取向您的plist或信息下的Xcode 4

而且記住,棧溢出更喜歡一個新的問題要求當問題專題變化:)

相關問題