0

均等に拡張したいuiviewサブクラスがあります。つまり、ビューの原点を中央に置き、幅と高さを同じ量だけ拡大する必要があります。現在、原点は左上(0,0)にあり、右下に展開しています。どうすればこれを行うことができますか?

4

2 に答える 2

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);
}

これで、ビューが正しく配置されました

于 2012-04-30T14:29:11.467 に答える