您可以在shouldAutoRotate方法中聲明一個BOOL變量,並在調用它時設置該變量,然後在選擇器方法中顯示和隱藏子視圖,如果天氣視圖旋轉或不旋轉,則可以使用簡單條件。
這樣的:
if(viewRotated)
{
subView.hidden = YES;
}
viewRotated = NO;
編輯部分:
我不知道什麼在此代碼怎麼回事,但它在我的應用程序誰的iPad編碼是由我的朋友做了一個完美的工作。
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
if(UIInterfaceOrientationIsPortrait(interfaceOrientation))
{
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(keyboardWillShow:)
name:UIKeyboardWillShowNotification
object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(keyboardWillHide:)
name:UIKeyboardWillShowNotification
object:nil];
}
else
{
[[NSNotificationCenter defaultCenter] removeObserver:self
name:UIKeyboardWillShowNotification
object:nil];
[[NSNotificationCenter defaultCenter] removeObserver:self
name:UIKeyboardWillShowNotification
object:nil];
}
return YES;
}
,您可以重新添加通知,如果你的UIKeyboardWillHideNotification不是由這種方法再添加這些通知解僱。
- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation
我錯過了一個小細節...我的視圖和子視圖都有獨立的視圖控制器。在子視圖的視圖控制器類中接收到UIKeyboardWillHideNotification。子視圖不會收到輪換通知。在其他任何事情之前都會收到UIKeyboardWillHideNotification,這對我來說看起來並不正常。旋轉不應該觸發UIKeyboardWillHideNotification。還是呢? – Mustafa
檢查我的答案... – Robin