2015-01-02 134 views
0

我有一个隐藏表视图的uitableviewcontroller自定义导航栏。自定义导航栏隐藏桌面视图

-(void)viewWillAppear:(BOOL)animated{ 

UINavigationBar *myBar = [[UINavigationBar alloc] init]; 
CGRect navBarFrame = myBar.frame; 
navBarFrame.size.height = 64; 
navBarFrame.size.width = self.view.frame.size.width; 
myBar.frame = navBarFrame; 
[self.view addSubview:myBar]; 

} 

当我尝试通过将导航栏不透光,以解决这个问题:

myBar.translucent = NO; 

的实现代码如下犯规自动下移,当我试图抵消实现代码如下:

[self.tableView setContentInset:UIEdgeInsetsMake(64,0,0,0)]; 

它也偏移了导航栏,因为它是uitableview的子视图。

我该如何解决这个问题?

也即时做这个没有故事板。

+0

为什么要将导航栏添加为当前视图的子视图?我想你应该阅读使用导航控制器... https://developer.apple.com/library/ios/featuredarticles/ViewControllerPGforiPhoneOS/Introduction/Introduction.html –

+0

我不使用导航控制器只是酒吧 – ian

+0

我应该使用自定义工具栏? – ian

回答

0

在您的viewDidLoad()方法中添加以下代码行。

self.edgesForExtendedLayout=UIRectEdgeNone; 
self.extendedLayoutIncludesOpaqueBars=NO; 
self.automaticallyAdjustsScrollViewInsets=NO;