2014-06-22 46 views
0

我有2個ViewControllers(IOS7),我想顯示第二個與透明背景和不同的方向行爲的第一個。IOS 7:透明的Viewcontroller背景另一個ViewController具有不同的方向行爲

例如:按下第一個ViewController上的按鈕將彈出第二個ViewController,但第一個ViewController仍然會在第二個ViewController的透明區域的背景中可見。 如果我旋轉手機,則只有第二個ViewController會旋轉,而第一個ViewController將會在第一個ViewController中旋轉,而第一個ViewController會保持相同的方向。

有什麼建議嗎? 謝謝!

+0

你的屬性檢查器中設置阿爾法爲-1 – eddwinpaz

回答

0

可以模態呈現第二視圖控制器在第一上,與具有類型UIModalPresentationCurrentContextmodalPresentationStyle的第一個。

如果你的第一個ViewController被嵌入到像UINavigationController這樣的ContainerViewController中,那麼你必須在其上設置modalPresentationStyle,並且需要在它上面展示第二個ViewController。

在你的第一個視圖控制器,它看起來像:

- (void)buttonTapped:(id)sender { 
    self.navigationController.modalPresentationStyle = UIModalPresentationCurrentContext; 
    [self.navigationController presentViewController:[SecondViewController new] animated:YES completion:nil]; 
} 

您還必須配置/實現所需的行爲所支持的接口方向,當然。例如通過重寫supportedInterfaceOrientations()在第二的ViewController,就像這樣:

- (NSUInteger)supportedInterfaceOrientations { 
    return UIInterfaceOrientationMaskPortrait; 
} 
+0

它的工作! 非常感謝您的幫助!!!!! 關鍵是要使用UIModalPresentationCurrentContext作爲presentationStyle = D – user3764078

+0

這不適用於iOS 7.0.3中的我 –

相關問題