菜鸟教程小白 发表于 2022-12-12 15:08:45

ios - 使用自动布局更改带有动画的 tableview 帧


                                            <p><p>我正在尝试通过在 animationWithDurationblock 中使用自动布局来更改 tableview 框架。就这样;</p>

<pre><code>[UIView animateWithDuration:0.3f animations:^{

            weekdayOffersVerticalConstraint.constant = 80;
            ;
            ;

            self.isTableViewSmall = YES;

      } completion:^(BOOL finished) {


      }];
</code></pre>

<p>我的 tableview 的框架随着这个代码块而改变,但是当我向下滚动时,单元格从左侧到右侧,我认为它与 <code>;</code> layoutIfNeeded 效果有关所有 subview 。如何阻止影响我的 tableview 的单元格?</p>

<p>对不起,我的英语不好,非常感谢您的回答和建议。</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>在开始动画之前调用 <code>layoutIfNeeded</code> 以更新约束:</p>

<pre><code>;
;
[UIView animateWithDuration:0.3f animations:^{

            weekdayOffersVerticalConstraint.constant = 80;
            ;
            ;

            self.isTableViewSmall = YES;

      } completion:^(BOOL finished) {
            //
      }];
</code></pre>

<p>您可能也不想在动画 block 内设置该 <code>BOOL</code> 属性,除非您有一个在动画期间有意覆盖它的方法。</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 使用自动布局更改带有动画的 tableview 帧,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/29923980/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/29923980/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 使用自动布局更改带有动画的 tableview 帧