只要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;
}
}