zoukankan      html  css  js  c++  java
  • ios tableheaderview layoutifneeded使用

    这个方法和另一个方法配对的,setNeedLayout和layoutIfNeed,还有一个关联的方法是layoutSubviews,在我们没有任何干预的情况下,一个view的fram或bounds发生变化时,系统会设置一个flag给这个view,当下一个渲染时机到来时系统会重新按新的布局来渲染视图。setNeedLayout就是我们主动为这个视图设置一个flag,告诉系统这个视图再下一个时机到来时要重新渲染,而layoutIfNeed则是告诉系统,如果设置了flag那么不用等待时机到来了,直接渲染吧。而layoutSubviews这个方法是系统调用的,我们不需要主动调用,我们只需要调用layoutIfNeed就可以了,让系统判断是否在当前时机下立即渲染。

    另同时用上一套的场景举个例,当想知道tableView reloadData后的contentSize的话可以在reloadData后用这两个方法,然后就可以直接提取contentSize了。

    [UIView animateWithDuration:0.2 animations:^(void){

                        tableHeaderView.height -= 60;

                        [tableHeaderView layoutIfNeeded];

                        grayView.frame = CGRectMake(0, monthKlineChartPanelView.top+monthKlineChartPanelView.height, SCREEN_WIDTH, 10);

                        self.tableHeaderView = tableHeaderView;

                        [[NSUserDefaults standardUserDefaults] setObject:[NSNumber numberWithFloat:105] forKey:UI_STOCK_INFOPANEL_MORE];

                        [[NSUserDefaults standardUserDefaults]synchronize];

                    }];

  • 相关阅读:
    linux网络编程之共享内存介绍
    linux网络编程之system v消息队列(二)
    一次性从git远程仓库中克隆到本地。
    返回随机数:整数、浮点数
    下载进度条
    os模块学习+open行数
    json数据处理:读取文件中的json字符串,转为python字典
    python执行命令行:python中执行shell命令行read结果
    format格式化输出
    python操作mongodb
  • 原文地址:https://www.cnblogs.com/zhangxiaozhe/p/6478134.html
Copyright © 2011-2022 走看看