关于ios中的子视图,我有一个覆盖整个屏幕的视图,然后我创建并导入另一个视图,它只是一个红色方块。我想知道这两种方法之间是否存在任何差异或优势:
方法1:
//set the view
UIView *myView = [[UIView alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
myView.backgroundColor = [UIColor whiteColor];
[self.view addSubview:myView];
//setTheSquareView
CGRect firstFrame = CGRectMake(160, 240, 100, 150);
HypnosisView *firstView = [[HypnosisView alloc] initWithFrame:firstFrame];
firstView.backgroundColor = [UIColor redColor];
[self.view addSubview:firstView];
和方法2:
//set the view
UIView *myView = [[UIView alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
myView.backgroundColor = [UIColor whiteColor];
[self.view addSubview:myView];
//setTheSquareView
CGRect firstFrame = CGRectMake(160, 240, 100, 150);
HypnosisView *firstView = [[HypnosisView alloc] initWithFrame:firstFrame];
firstView.backgroundColor = [UIColor redColor];
[myView addSubview:firstView];
唯一的区别是,在第一种情况下,我将两个视图添加为主属性视图的子视图,而在第二种情况下,我将第二个视图添加为第一个视图的子视图。它们在屏幕上看起来一样。 感谢
答案 0 :(得分:0)
我认为,如果你改变任何(myView)约束,第一种方法的差异,firstFrame将不会改变,但在第二种方法中它将会改变。