では、サイズが 200x200viewDidLoad
の at 100,100 を作成し、その境界を -100,-100 の原点を持つように変更します。UIView
これにより、ビュー全体が左上に戻るか、フレームと境界の交点に小さな長方形のみが描画されると想定していました。引き込まれた領域にはまったく影響しませんでした。
- (void)viewDidLoad
{
[super viewDidLoad];
CGRect rect = CGRectMake(100, 100, 200, 200);
greenView = [[UIView alloc] initWithFrame:rect];
[greenView setBackgroundColor:[UIColor greenColor]];
CGRect bounds = CGRectMake(-100, -100, 200, 200);
[greenView setBounds:bounds];
[greenView setClipsToBounds:YES];
[greenView setContentMode:UIViewContentModeRedraw];
[self.view addSubview:greenView];
}
フレームと境界は次のように記録されます。
Frame: {{100, 100}, {200, 200}}
Bounds: {{-100, -100}, {200, 200}}
ビューはその境界矩形にのみ描画されると思いました。ビューと境界について何が欠けていますか? ビューの境界を変更しても、描画される場所が変更されないのはなぜですか?
外観は次のとおりです。