NavigationBar的影響和邊緣手勢,和視頻播放時不得自動全屏播放,設置狀態條的樣式

 /*
    edgesForExtendedLayout是一個類型爲UIExtendedEdge的屬性,指定邊緣要延伸的方向。
    因爲iOS7鼓勵全屏佈局,它的默認值很自然地是UIRectEdgeAll,四周邊緣均延伸,就是說,如果即使視圖中上有navigationBar,下有tabBar,那麼視圖仍會延伸覆蓋到四周的區域。
    self.edgesForExtendedLayout = UIRectEdgeNone;
    
    來解決UINavigationBar透明的問題。設置了UIRectEdgeNone之後,你嵌在UIViewController裏面的UITableView和UIScrollView就不會穿過UINavigationBar了,同時UIView的控件也回覆到了iOS6時代。
    
    不過這個對於Status Bar在iOS7上面的變化是無效的,正確的說應該是部分無效。在存在Navigation部分或者Tabbar部分的時候,上面的代碼可以使得Status Bar也不載透明(有待驗證,畢竟UIViewController的可用空間被控制了),但是在沒有這兩個部分的時候,Status Bar依舊是會記入UIView範圍的。
     */
    self.edgesForExtendedLayout = UIRectEdgeRight;
    self.navigationBar.tintColor = [UIColor lightGrayColor];
    // 當自定義返回按鈕時保證邊緣手勢正常
    self.interactivePopGestureRecognizer.delegate = self;
}

//不允許當前NavigationBar下得自動視圖橫屏,主要針對視頻播放
- (BOOL)shouldAutorotate
{
    return NO;
}

- (UIStatusBarStyle)preferredStatusBarStyle
{
    return UIStatusBarStyleLightContent;
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章