菜鸟教程小白 发表于 2022-12-13 14:13:19

iphone - 为 UIView 更改设置动画,其中 UIView 完全重建


                                            <p><p>我的 UIViewController 获取它所控制的 View 以完全重建自己,如下所示:</p>

<pre><code>; // this line is in the ViewController
</code></pre>

<p> View 本身包含以下方法:</p>

<pre><code>-(void)rebuildYourself:(BOOL)isLandscape
{
    NSArray *viewsToRemove = ;
    for (UIView *v in viewsToRemove) {
      ;
    }

    ; // adds lots of views
    ; // frames the views

}
</code></pre>

<p>我想为整个过渡设置动画。我试过这个:</p>

<pre><code>[UIView animateWithDuration:1.0
                      delay:0.0
                  options:UIViewAnimationOptionTransitionCurlUp
               animations:^{
                           ;
                         }
               completion:^(BOOL finished){

                         }];
</code></pre>

<p>但是动画忽略了UIViewAnimationOptionTransitionCurlUp的options值,每次都是从左上角流入。</p>

<p>我已经试过了:</p>

<pre><code>;
;
;
;
;
</code></pre>

<p>但在这种情况下,过渡确实可以很好地 curl ,但在过渡完成之前底层 View 是空白的,然后新 View 突然“弹出”到 View 中,这破坏了过渡的效果。</p>

<p>谁能告诉我为 View 完全重建自身的过渡设置动画的正确/最佳方式?</p>

<p>谢谢</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>制作两个 View 并将旧 View 放在新的重建 View 之上。然后“ curl ”旧 View ,以便显示新 View 并从内存中删除旧 View 。</p></p>
                                   
                                                <p style="font-size: 20px;">关于iphone - 为 UIView 更改设置动画,其中 UIView 完全重建,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/11032437/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/11032437/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: iphone - 为 UIView 更改设置动画,其中 UIView 完全重建