美文网首页
2018-05-18

2018-05-18

作者: HMZ4978 | 来源:发表于2018-05-18 16:12 被阅读0次

    11、用NSLayoutConstrain给控件做了约束以后,如何执行一定的UIView动画呢?

    // 高度约束,为了点击方法可以改变  

    @property (nonatomic, strong) NSLayoutConstraint    *heightConstraint;

    //在修改了约束以后,只要执行下边的代码,就能做动画效果   

    [UIView animateWithDuration:2.0 animations:^{

            [添加了约束的View    layoutIfNeeded];   

    }];

    14、UILabel.preferredMaxLayoutWidth属性

     - 设置label每一行文字的最大宽度

    这个属性建立在autoLayout布局的label中,如果是非零,那么这个属性用于多行Label的文字固定宽度

    13、LayoutIfNeeded小理解

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

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

    相关文章

      网友评论

          本文标题:2018-05-18

          本文链接:https://www.haomeiwen.com/subject/xwegdftx.html