最近公司新上项目,在制作全局的导航控制器视图时用到了两种方法:
1、
[[UINavigationBar appearance] setTranslucent:NO];
[[UINavigationBar appearance] setBarTintColor:[UIColor fangBlueColor]];
2、
[[UINavigationBar appearance] setBackgroundImage:[[UIImage imageNamed:@"顶部栏.png"] stretchableImageWithLeftCapWidth:10 topCapHeight:10] forBarMetrics:UIBarMetricsDefault];
设置之后都可以达到滚动视图是从导航栏下端开始的,但是出现了新的问题,在创建tableView的时候有两种方法
1、
- (UITableView *)myTableView{
if (!_myTableView) {
_myTableView = [[UITableView alloc] initWithFrame:self.view.bounds style:UITableViewStylePlain];
_myTableView.backgroundColor = [UIColor whiteColor];
_myTableView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
_myTableView.separatorStyle = UITableViewCellSeparatorStyleNone;
_myTableView.delegate = self;
_myTableView.dataSource = self;
}
return _myTableView;
}
2、
- (UITableView *)myTableView{
if (!_myTableView) {
_myTableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, [UIScreen mainScreen].bounds.size.width, [UIScreen mainScreen].bounds.size.height-64) style:UITableViewStylePlain];
_myTableView.backgroundColor = [UIColor whiteColor];
// _myTableView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
_myTableView.separatorStyle = UITableViewCellSeparatorStyleNone;
_myTableView.delegate = self;
_myTableView.dataSource = self;
}
return _myTableView;
}
正常视图
屏幕快照 2017-08-08 下午3.14.59.png
请注意上述两种构建视图的方法,第一种若是让视图自适应上下左右的间距,必须使视图的frame为self.view.bounds。第二种若是视图的frame这么写必须注释掉autoresizingMask属性的值,否则就会出现如下的视图
有问题视图
屏幕快照 2017-08-08 下午3.16.50.png
上述视图底部的蓝色是self.view的视图,tableView没能充满视图;
再此做个记录!
网友评论