Как добавитьSubview с позиции?
У меня есть что-то вроде этого:
myViewController = [[MyViewController alloc] initWithNibName:@"MyView" bundle:nil];
[mainCanvas addSubview: myViewController.view];
self.view = mainCanvas;
Он будет добавлен в позицию (0, 0), но я хочу добавить его в (0, 100) или в другое место. Как я могу это сделать?
Ответы
Ответ 1
Что-то вроде этого:
myViewController = [[MyViewController alloc] initWithNibName:@"MyView" bundle:nil];
myViewController.view.frame = CGRectMake(0, 100, myViewController.view.frame.size.width, myViewController.view.frame.size.height);
[mainCanvas addSubview: myViewController.view];
self.view = mainCanvas;
Ответ 2
В дополнение к настройке свойства frame
вы также можете установить свойство center
для представления.
Ответ 3
Задайте свойство кадра на дополнительном представлении.
Ответ 4
Это лучший способ, которым я нашел добавить subView, например, экран загрузки или что-то, что вы хотите показать, находитесь ли вы в UIView
, UIScrollView
или UITableView
.
myViewController = [[MyViewController alloc] initWithNibName:@"MyView" bundle:nil];
myViewController.view.frame = CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height);
[self.view addSubview:myViewController.view];
self.view.bounds = myViewController.view.bounds;
Это приведет к тому, что subView будет отображаться в полноэкранном режиме независимо от того, где вы находитесь в self.view, добавив subView туда, где вы сейчас находитесь в своем собственном виде. Вместо того, чтобы позиционировать его в верхнем левом углу, если вы находитесь на самой вершине своего вида.