0

appdelegate ウィンドウの上に UIView があります。サイズを変更して非表示にしようとすると、アニメーションが機能しません。

TLDR : UIAnimation ブロックで UIView のサイズを変更することはできませんが、移動することはできます

[UIView animateWithDuration:0.3
                      delay:0
                    options: UIViewAnimationCurveEaseIn
                 animations:^{ 
                     CGRect frame = viewMore.frame;
                     frame.size.height = 0;
                     viewMore.frame = frame;

                 } 
                 completion:^(BOOL finished){

                 }];

しかし、このコードを使用してビューを移動したい場合は、魅力的に機能します。例 :

[UIView animateWithDuration:0.3
                      delay:0
                    options: UIViewAnimationCurveEaseIn
                 animations:^{ 
                    CGPoint centerMore =    viewMore.center;
                     centerMore.y += viewMore.frame.size.height;
                     viewMore.center = centerMore;


                 } 
                 completion:^(BOOL finished){


                 }];

viewMore には 2 つの UIButton サブビューがあります。UIWebView のサイズを変更するために同じコードが機能します。理解できないことがあります。あなたは私の唯一の希望です(いや、あなたはそうではありません:))

4

1 に答える 1

1

さて、問題は、サブビュー (画像付きの UIButton) のサイズが変更されなかったことです。解決策: ビューでclipsToBoundsを YES に設定してサイズを変更します。

于 2012-05-31T09:00:23.047 に答える