Что касается subviews в ios, у меня есть представление, которое охватывает весь экран, тогда я создаю и импортирую другое представление, которое является только красным квадратом поверх него. Мне было интересно, если есть какая-то разница или advantadge между этими двумя подходами:Два разных подхода к subviews
Подход 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];
Единственное различие в том, что в первом случае я добавьте оба представления в виде представлений основного вида свойств, тогда как во втором случае я добавляю второе представление в качестве подсмотра первого представления. Они выглядят одинаково на экране.
если ваш рама myView не такой же, как ваш self.view, он будет выглядеть по-другому. Поскольку кадр представления настраивается как его прямое родительское представление. – Surely