-1

我在橫向模式下啓動我的應用程序(iPhone和iPand)。在viewDidAppear中設置UIView幀,解決iPad中用於啓動定向模式的幀問題橫向

我viewDidAppear發現爲iPad幀改變該幀在,比viewWillAppear中一個在


IOS IPAD 5.1模擬器

在viewWillAppear中它是0.000000 20.000000 768.000000 1004.000000。

同時,在viewDidAppear它是0.000000 0.000000 748.000000 1024.000000


IOS IPAD 6.0模擬器 [但IOS相當supprised 6的ipad模擬器]

在viewWillAppear中它是0.000000 0.000000 748.000000 1024.000000

while,viewDidAppear與viewWillAppear相同。


所以,我可以設置框架爲我viewDidAppear子視圖?因爲這裏是完美的框架。

對於iPhone的結果是相同的方法20.000000 0.000000 300.000000 480.000000。

爲什麼會出現在的iPadiPhone不同的行爲?

Info.plist具有左側和右側風景的「支持的接口方向」,「初始接口方向」設置爲landscapeLeft。

AppLaunch方法如下:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 

     self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease]; 

     self.viewController=[[ViewController alloc] init]; 

     self.window.rootViewController = self.viewController; 
} 

ViewController.m有以下幾種方法

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation 
{ 
    if(UIInterfaceOrientationIsLandscape(interfaceOrientation)){ 
     return YES; 
    } 
    return NO; 
} 

Please Find the project at this link

+1

對我來說這似乎是一個有效的問題。如果投票人進行了一些推理,那將會很好。你有一個明確的問題,但幾乎沒有你的代碼,所以我們不知道你給我們的代碼是用於iPad,iPhone還是兩者,或者你的代碼或IB文件中的問題。您是在任何地方手動設置框架,還是所有在XIB /故事板中處理的佈局? – DBD

+0

@DBD對你的問題很有幫助。我已經上傳了該項目,請在該問題中找到鏈接。 – andyPaul

回答

0

我可以設置幀我在viewDidAppear子視圖?

您可以在任何需要的位置設置框架。你爲什麼不能?

+0

同時檢查問題中提到的iPhone和iPad中幀的不同行爲,其中我提到幀座標 – andyPaul

+0

@andyPaul啊是的!好吧,我想這與操作系統(更確切地說是UIKit)的差異有關。 – 2012-09-09 11:14:31

+0

我正在努力解決橫向模式下的幀問題。我提到了Apple Doc,它說你可以改造,但即使這樣也行不通。然後我發現了這個我不清楚的解決方案,並且你拒絕了。請詳細解釋一下在什麼時候設置viewWillAppear和viewDidAppear。 – andyPaul

相關問題