iOS开发-automaticallyAdjustsScrollViewInsets属性

调整UITableView起始位置
本文介绍如何解决UITableView的tableHeaderView起始位置问题,通过设置automaticallyAdjustsScrollViewInsets属性为NO,实现从屏幕(0,0)位置开始显示TableView。

最近遇到一个问题是这样的,App一般自己都会有一个UINavigationController,顶部TableView如果有tableHeaderView如果设置起始位置是(0,0)是在导航栏的下面的,为了更好地UI希望从屏幕的(0,0)开始,就遇到了上面的这个问题,简单的看一下效果:

主要代码如下:

- (UITableView *)tableView {
    if (!_tableView) {
        _tableView = [[UITableView alloc]
                      initWithFrame:CGRectMake(0, 0, CGRectGetWidth(self.view.bounds),
                                               CGRectGetHeight(self.view.bounds))
                      style:UITableViewStylePlain];
        //        _tableView.tableFooterView = [[UIView alloc] init];
        _tableView.rowHeight =40.0;
        _tableView.sectionHeaderHeight = 0.0;
        _tableView.sectionFooterHeight = 0.0;
        _tableView.dataSource = self;
        _tableView.delegate = self;
    }
    return _tableView;
}

-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
    return 5;
}
//http://www.cnblogs.com/xiaofeixiang 技术交流:228407086
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
    UITableViewCell  *cell=[[UITableViewCell alloc]init];
    cell.textLabel.text=@"博客园-FlyElephant";
    return cell;
}

这个时候设置automaticallyAdjustsScrollViewInsets效果如下:

 

官方文档解释如下:

A Boolean value that indicates whether the view controller should automatically adjust its scroll view insets.

Declaration
SWIFT
var automaticallyAdjustsScrollViewInsets: Bool
OBJECTIVE-C
@property(nonatomic, assign) BOOL automaticallyAdjustsScrollViewInsets
Discussion
The default value of this property is YES, which allows the view controller to adjust its scroll view insets in response to the screen areas consumed by the status bar, navigation bar, and toolbar or tab bar. Set to NO if you want to manage scroll view inset adjustments yourself, such as when there is more than one scroll view in the view hierarchy.

Availability
Available in iOS 7.0 and later.

简单点说就是automaticallyAdjustsScrollViewInsets根据按所在界面的status bar,navigationbar,与tabbar的高度,自动调整scrollview的 inset,设置为no,不让viewController调整,我们自己修改布局即可~

转载于:https://www.cnblogs.com/xiaofeixiang/p/4655932.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值