私はUIViewControllerにいて、self.view
300x480のフレームを持つ有効なビューを指しています。
UIView *redView;
UIView *blueView;
//[[self view] setAutoresizingMask:YES]; //WRONG!
[[self view] setAutoresizesSubviews:YES];
[[self view] setClipsToBounds:YES];
redView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 200, 200)];
[redView setBackgroundColor:[UIColor redColor]];
[redView setAutoresizingMask:UIViewAutoresizingFlexibleLeftMargin];
[[self view] addSubview:redView];
blueView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 100, 100)];
[blueView setBackgroundColor:[UIColor blueColor]];
[blueView setAutoresizingMask:UIViewAutoresizingFlexibleRightMargin];
[[self view] addSubview:blueView];
このコードスニペットで私は試していました
- 200x200の赤いビューを右マージンに揃えるには、
- 100x100の青いビューを左マージンに揃えます。
しかし、あなたが見ることができるように、結果は私が期待していたものとはほど遠いです...
http://imageshack.us/photo/my-images/27/iossimulatorscreenshoto.png/
自動サイズ変更マスクの使用法に関するアップルのドキュメントとグーグルの結果をすべて読みましたが、なぜこれが起こっているのかまだわかりません。
誰かが私に何が起こっているのか説明してもらえますか?
前もって感謝します。