2017-07-25 49 views
0

我正在開發一個應用程序,其中面臨一些困難,搜索了很多解決方案後,但它仍然無法正常工作。如何讓navgationBar再次隱藏?

首先,我創建一個應用程序像這樣

nav bar hidden

我用下面的代碼,使navgationBar隱藏在viewWillAppear:方法

[self.navigationController.navigationBar setBackgroundImage:[UIImage new] 
               forBarMetrics:UIBarMetricsDefault]; 
self.navigationController.navigationBar.shadowImage = [UIImage new]; 
self.navigationController.navigationBar.translucent = YES; 
self.navigationController.view.backgroundColor = [UIColor clearColor]; 
self.navigationController.navigationBar.backgroundColor = [UIColor clearColor]; 

但之後我把使用UIImagePickerController照片, navgationBar將出現在屏幕上,

像這樣: nav bar appear

那麼,我該如何讓navgation bar始終隱藏?非常感謝..

===============更新=============

我也用的UIImagePickerController可供選擇的照片圖書館,雖然它運作良好。在我選擇並返回到這個viewController後,該欄仍然隱藏。這真的很奇怪。

+0

[自我navigationController] setNavigationBarHidden:YES動畫:是];' –

+0

我有用過的。但它也沒用。 –

+0

@ W.LeeLom您需要導航欄隱藏在圖像選取器中嗎? –

回答

0

如果你想隱藏自己的導航欄,一旦你回到你的viewController採摘圖像使用該兩個回調方法之後

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info 
{ 
    //Your code.... 
    [self.navigationController.navigationBar setHidden:YES]; 
} 

- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker 
{ 
    //Your code.... 
    [self.navigationController.navigationBar setHidden:YES]; 
} 

但是,如果你想從你UIImagePickerViewController刪除導航欄,你應該繼承的UIImagePickerViewController在您的自定義UIImagePicker像這樣

.H

#import <UIKit/UIKit.h> 

@interface CustomImagePickerController : UIImagePickerController 

@end 

.M

#import "CustomImagePickerController.h" 

@interface CustomImagePickerController() 

@end 

@implementation CustomImagePickerController 

- (void)viewDidLoad { 
    [super viewDidLoad]; 
    // Do any additional setup after loading the view. 
    [self.navigationController.navigationBar setHidden:YES]; 
} 

- (void)didReceiveMemoryWarning { 
    [super didReceiveMemoryWarning]; 
    // Dispose of any resources that can be recreated. 
} 

@end 

,然後使用這個類作爲您UIImagePickerController

希望這你爲什麼不使用像`幫助

+0

你好,感謝你的解決方案,但它也沒有效果。我調試這個發現白色視圖是「UIVisualEffectView」,這會導致問題。 –

+0

調試窗口顯示,[image.png](http://upload-images.jianshu.io/upload_images/1156494-4cd902b8beb3fa30.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240),I希望我能解釋它。 –

0

如何從界面構建器中將視圖控制器嵌入到導航控制器中。然後創建一個新的導航控制器文件,並將界面生成器中的導航控制器分配給這個新類。

在此課程中,只需將欄設置爲隱藏狀態,並且由於初始視圖控制器將嵌入其中,因此應始終保持隱藏狀態。

+0

Sry ...我使用Xib +代碼,我不使用故事板。 –

相關問題