1.在視圖控制器的頭文件中實現UINavigationControllerDelegate,
例如:@interface PicturePreviewViewController : UIViewController<UINavigationControllerDelegate>
2.在實現類中加入這個代理的方法及具體操作如下:
- (void) navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated {
// 如果進入的是當前視圖控制器
if (viewController == self) {
// 背景設置爲黑色
self.navigationController.navigationBar.tintColor = [UIColor colorWithRed:0.000 green:0.000 blue:0.000 alpha:1.000];
// 透明度設置爲0.3
self.navigationController.navigationBar.alpha = 0.300;
// 設置爲半透明
self.navigationController.navigationBar.translucent = YES;
} else {
// 進入其他視圖控制器
self.navigationController.navigationBar.alpha = 1;
// 背景顏色設置爲系統默認顏色
self.navigationController.navigationBar.tintColor = nil;
self.navigationController.navigationBar.translucent = NO;
}
}