設置navigationbar透明度時的坑


1.需要設置導航條透明度時

    UIImage *image = [UIImage imageNamed:@"bg_clear.png"];    
//設置背景顏色
[nav2.navigationBar setShadowImage:image]; [nav3.navigationBar setBackgroundImage:image forBarMetrics:UIBarMetricsDefault];
//導航條陰影線 [nav3.navigationBar setShadowImage:image];

 

2下面是iOS7.0之后默認的屬性(表示透明度為yes)

self.navigationController.navigationBar.translucent = YES;

此時坐標self.view.frame.origin.y從0開始(屏幕最上部)。


3.此時若是添加代碼self.edgesForExtendedLayout = UIRectEdgeNone(iOS7.0以后方法);

self.view.frame.origin.y會下移64像素至navBar下方開始。
self.edgesForExtendedLayout = UIRectEdge.None;將view下移64,另外如果有tabBar,高度會縮減40,無需我們手動設置

4.解決ScrollView子視圖向下偏移64像素的的問題:   
//解決scrollView偏移問題
     self.automaticallyAdjustsScrollViewInsets = NO;
 
5.解決scrollView被tabbar遮擋的問題
//scrollView被遮擋處理
    if ([[[UIDevice currentDevice] systemVersion] doubleValue]>=7.0) {
        self.scrollView.contentInset =UIEdgeInsetsMake(0,0,49, 0);
    }


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM