Как добавить Subview с позиции? - PullRequest
27 голосов
/ 19 августа 2010

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

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

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

Ответы [ 4 ]

54 голосов
/ 19 августа 2010

Примерно так:

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;
12 голосов
/ 19 августа 2010

Помимо настройки свойства frame, вы также можете установить свойство center представления.

8 голосов
/ 19 августа 2010

Установить свойство кадра в дополнительном представлении.

7 голосов
/ 11 мая 2011

Это лучший способ, который я нашел, чтобы добавить подвид, например, экран загрузки или что-то, что вы хотите показать, находитесь ли вы в 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 туда, где вы сейчас находитесь в вашем self.view, вместо того, чтобы позиционировать его в верхнем левом углу, показывая только полностью если вы на самом верху своего взгляда.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...