在viewDidLoad
中,我UIView
在 100,100 处创建一个大小为 200x200 的对象,然后将其边界更改为具有 -100,-100 的原点。我原以为这会将整个视图移回左上角,或者只为框架和边界的交叉点绘制一个较小的矩形。它根本不影响绘制区域。
- (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}}
我认为一个视图只会吸引它的边界矩形。关于视图和边界,我缺少什么?为什么改变我的视图的边界不会改变它的绘制位置?
这是它的样子: