1. 程式人生 > >iOS工作中的問題-----navigationBar透明方法、遮擋UIViewController、UITableViewController 檢視解決方法

iOS工作中的問題-----navigationBar透明方法、遮擋UIViewController、UITableViewController 檢視解決方法

導航欄透明方法:

     UIImage *image = [UIImage imageNamed:@"clear"];
    [self.navigationController.navigationBar setBackgroundImage:image forBarMetrics:UIBarMetricsDefault];
    [self.navigationController.navigationBar setShadowImage:image];

導航欄有個屬性不要設定:

self.navigationController.navigationBar.translucent
= YES;//如果是NO得話表示導航欄不透明且佔空間,其他座標是從導航欄下開始計算的。

如果在UIViewController中,想讓檢視置頂需要:

 self.edgesForExtendedLayout = UIRectEdgeAll;//這個預設是UIRectEdgeNone 表示檢視座標的計算是從導航欄下開始的。

如果是UITableViewController 要在透明的navigationController 中置頂需要:

self.automaticallyAdjustsScrollViewInsets = NO;//專門針對scrollView的,表示自動計算scrollview 的contentview 中的位置,讓其不被導航欄擋住。預設是YES