automaticallyAdjustsScrollViewInsets是view controller的一个属性。
如果vc.view是一个scroll view(或其子类,如table view),或vc.view.subviews[0]是一个scroll view,
则vc会自动修改此scroll view的contentInset和scrollIndicatorInsets两个属性的值。
这样scroll view在向上滚动时,内容会滚动到半透明导航栏的下面,透过导航栏可以看到。
如果把vc的automaticallyAdjustsScrollViewInsets设为NO,则为了实现上面滚动时的效果,需要手动更改scroll view的这两个属性:
- (void)viewDidLoad
{
[super viewDidLoad];
if ([self respondsToSelector:@selector(automaticallyAdjustsScrollViewInsets)]) {
// For insetting with a navigation bar
UIEdgeInsets insets = UIEdgeInsetsMake(64, 0, 0, 0);
self.tableView.contentInset = insets;
self.tableView.scrollIndicatorInsets = insets;
}
如果vc.view是一个scroll view(或其子类,如table view),或vc.view.subviews[0]是一个scroll view,
则vc会自动修改此scroll view的contentInset和scrollIndicatorInsets两个属性的值。
这样scroll view在向上滚动时,内容会滚动到半透明导航栏的下面,透过导航栏可以看到。
如果把vc的automaticallyAdjustsScrollViewInsets设为NO,则为了实现上面滚动时的效果,需要手动更改scroll view的这两个属性:
- (void)viewDidLoad
{
[super viewDidLoad];
if ([self respondsToSelector:@selector(automaticallyAdjustsScrollViewInsets)]) {
// For insetting with a navigation bar
UIEdgeInsets insets = UIEdgeInsetsMake(64, 0, 0, 0);
self.tableView.contentInset = insets;
self.tableView.scrollIndicatorInsets = insets;
}
}
参考:
http://www.cocoachina.com/industry/20140411/8143.html