自定义导航栏隐藏tableview

时间:2015-01-02 04:55:20

标签: ios objective-c xcode uitableview navbar

我在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;

tableview不会自动向下移动,当我尝试偏移tableview时:

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

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

我该如何解决这个问题?

我也可以在没有故事板的情况下这样做。

1 个答案:

答案 0 :(得分:0)

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

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