iOS UIScrollView在导航栏下位置自动偏移的解决方
2017-05-11 本文已影响707人
左岸花不开
只要scrollView是其父视图上的第一个子视图,且navigationBar不隐藏的情况下,添加到scrollView里的视图,都会默认下移64个像素。继承UIScrollview的UITableview也会出现这个问题。
解决办法:
最笨的方法:在scrollView之前加一个高度为0.1f的view来让scrollView成为第二个view或者手动调节尺寸与位置。
vc.automaticallyAdjustsScrollViewInsets = NO;
tableViewController中:
self.automaticallyAdjustsScrollViewInsets = NO;
self.tableView.contentInset = UIEdgeInsetsMake(44, 0, 0, 0);
//在所有的 viewController 里都加上这样所有设备下都是固定64的位置开始。
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view.
// 设置CGRectZero从导航栏下开始计算
if ([self respondsToSelector:@selector(setEdgesForExtendedLayout:)])
{
self.edgesForExtendedLayout = UIRectEdgeNone;
}
}