餘米也面臨同樣的問題,當我打開熱點我的看法是怎麼回事(20像素)下降等,如果我刪除熱點MyView的被幹擾(這裏我使用了3個獨立的視圖,如Titlabar,scrollview和bottomview ..)。
問題是當你連接到熱點時,那時「statusbar」的高度增加了。所以觀點正在下降。
SOLU:在這裏,基於狀態欄的高度,我們要更新的UIView佈局,像下面....
在viewDidLoad中寫下面的代碼:
-(void)viewdidload
{
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(didStatusBarFrameChanged) name:UIApplicationDidChangeStatusBarFrameNotification object:nil];
}
-(void)didStatusBarFrameChanged
{
CGRect barFrame = [UIApplication sharedApplication].statusBarFrame;
NSLog(@"didStatusBarFrameChanged %@", NSStringFromCGRect(barFrame));
[self updatePageViewLayouts];
}
注:這裏使用「 UIApplicationDidChangeStatusBarFrameNotification「這,我們正在獲取狀態欄高度更新Notification.so基於你可以增加/減少20px的視圖大小(高度)。
非常感謝你,它完美的工作! – Signo
對不起@ lozy219只有最後一個「問題」,如果(例如)熱點爲ON,並顯示菜單,它根據熱點的酒吧高度計算出正確的高度,但如果我關閉熱點菜單有一個從頂部偏移(計算出的偏移量),是否可以重新計算偏移量? – Signo
@Signo嗯..我錯過了這個問題之前,如何在''''[setup]'方法中添加'[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(updateMenuFrameAndTransformAccordingToOrientation)name:UIApplicationWillChangeStatusBarFrameNotification object:nil]'' ?當狀態欄的高度改變時,我們更新菜單框架。但是,這可能不會返回到正確的高度,需要稍微調整一下。我相信@aryaxt很快就會修復這個庫。 – lozy219