2011-07-08 49 views
1

嗯,我有一個視圖控制器,將控制我的應用程序的所有子視圖(我希望)。當調用initWithNibName:時,第一個視圖顯示正常。當我在該視圖中按下按鈕時,它會調用- (IBAction)pause:(id)sender。在這裏,我有self.view = pauseView,pauseView是定義的UIView。當顯示UIView時,即使正確定義了視圖控制器中的調整大小功能並且iphone模擬器以正確的方式旋轉(並且方向在Interface Builder中爲縱向),它也會以縱向顯示。換句話說,從用戶的角度來看,一切都是橫向的。我該如何解決?UIView被錯誤的方向初始化

回答

1

暫停視圖不接收旋轉事件。只有它的查看屬性纔會收到這些事件。將您的pauseView作爲子視圖添加到主視圖,但將其設置爲隱藏。您需要在XIB文件中執行此操作,將pauseView拖放到視圖中並找到隱藏屬性並將其設置爲打開。

更改按鈕:

- (IBAction)pause:(id)sender { 
    [pauseView setHidden:NO]; 
} 
+0

這是非常有用的見解。我有一個問題:你說只有視圖屬性接收旋轉事件,以及當我做「self.view = pauseView」,並不意味着self.view指向pauseView?在這種情況下,新的self.view(它現在是一個PauseView)將接收旋轉事件? – Relish

+0

我終於找到了一個非常好的解決方案:'[playView addSubview:pauseView]' – Relish

1

嘗試使自轉:

從視圖控制器
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { 
    return YES; 
}