2014-09-05 49 views
0

我單屏(控制器)手柄旋轉時導航回到先前的屏幕

public override void WillAnimateRotation (UIInterfaceOrientation toInterfaceOrientation, double duration) 
{ 
    base.WillAnimateRotation (toInterfaceOrientation, duration); 
    positionUIWidgets(); 
} 

該工程確定上實現。但是,如果我旋轉並返回到前一個屏幕(我有一個導航控制器),則前一個屏幕不會更改其佈局以適應方向。似乎我需要手動調用我的「positionUIWidgets()」,我不知道該怎麼做,我想知道是否有適當的方法來做到這一點,如「WillAnimateRotation」鉤子函數或類似的東西。謝謝!

回答

0

試試這個。

#import <objc/message.h> 

if ([[UIDevice currentDevice] respondsToSelector:@selector(setOrientation:)]) { 
objc_msgSend([UIDevice currentDevice], @selector(setOrientation:), UIInterfaceOrientationPortrait); 
} 
+0

你可以添加一個爲什麼這個工程的描述,而不是隻是傾銷一點代碼? – 2014-09-05 09:23:30

+0

我不明白代碼。你能解釋一下嗎?這段代碼去哪裏以及它做了什麼? – Hao 2014-09-05 19:03:18