Подтвердить что ты не робот

Как добавитьSubview с позиции?

У меня есть что-то вроде этого:

myViewController = [[MyViewController alloc] initWithNibName:@"MyView" bundle:nil];
[mainCanvas addSubview: myViewController.view];
self.view = mainCanvas;

Он будет добавлен в позицию (0, 0), но я хочу добавить его в (0, 100) или в другое место. Как я могу это сделать?

4b9b3361

Ответ 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 туда, где вы сейчас находитесь в своем собственном виде. Вместо того, чтобы позиционировать его в верхнем левом углу, если вы находитесь на самой вершине своего вида.