2012-04-30 4 views
0

私は均等に展開したいuiviewサブクラスを持っています。私は、ビューの原点を中心にし、幅と高さを同じにしたいと思っています。現在、原点は左上(0,0)にあり、右には下に向かって拡大しています。これをどうやってやりますか?UIViewは均等にサイズを変更します

+0

正しく配置されていますか?これはアニメーションですか?あなたは何をしようとしているのですか?より具体的にしてください。 – Byte

答えて

0

フレームの幅と高さを変更する場合は、フレームのxとyの位置も半分ずつ変更します。

たとえば、フレームが現在(40,60,100,200)で、20より大きく30より大きくしたい場合は、(30,45,120,230)にします。

0

あなたが問題を理解すると、ビューが配置されているスーパービューのサイズがわかります。このビューをviewとしましょう。次に、あなたの意見はmyViewとしましょう。

だから、あなたがしなければならないすべては、以下の通りです:

は、幅と高さの値のための画面の大きさの半分を取り、あなたのビューの起点を配置します。

UIView view = myView.superview; 
if (nil != view) { 
    // Make sure your view won't extend by itself with this 
    myView.autoresizingMask = UIViewAutoresizingNone; 

    // Get The size of the parent view 
    CGSize size = view.bounds.size; 

    // Set the new frame of your view 
    myView.frame = CGRectMake(size.width/2.0f, 
           size.height/2.0f, 
           size.width/2.0f, 
           size.width/2.0f); 
} 

そして今、あなたのビューは、あなたが展開するとはどういう意味ですか

関連する問題