zoukankan      html  css  js  c++  java
  • iOS开发-automaticallyAdjustsScrollViewInsets属性

    最近遇到一个问题是这样的,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调整,我们自己修改布局即可~

  • 相关阅读:
    element的导航栏修改其选中时颜色的问题
    如何设置element的时间选择器,当日后面的时间无法选中
    Mybatis3配置详解
    mybatis-generator mybatis逆向生成
    Oracle中Thin和OCI的区别
    Jetbrains系列之Phpstorm使用sftp远程开发线上项目
    Thinkphp6.0文档部分摘抄
    linux + 宝塔 + thinkphp5.0 搭建后端api各种问题集合
    Oracle用户,角色和权限
    CentOS7.6 安装 Oracle19c
  • 原文地址:https://www.cnblogs.com/xiaofeixiang/p/4655932.html
Copyright © 2011-2022 走看看