Как динамически размещать UIViews для UIViewController - PullRequest
0 голосов
/ 24 июня 2010

(Например) Я хотел бы, чтобы мое фоновое изображение - UIImageView - всегда было того же размера, что и представление UIViewControllers.

Я не могу понять это, но уверен, что это возможно. Я делаю некоторые элементы пользовательского интерфейса, которые я хотел бы использовать повторно, и которые могут динамически размещаться в зависимости от того, насколько велик вид моего контроллера представления. Как это можно сделать?

Возможно ли не устанавливать рамку подпредставлений?

Вот пример кода в моем UIViewController:

- (void)viewDidLoad {
     [super viewDidLoad];

     UIImage *backgroundImage = [[UIImage imageNamed:@"tabBarBackground.png"] stretchableImageWithLeftCapWidth:10.0f topCapHeight:10.0f];
     UIImageView *backgroundImageView = [[UIImageView alloc] initWithImage:backgroundImage];

    [self.view addSubview:backgroundImageView];
    [backgroundImageView release];
}

Я знаю, что мог бы установить фрейм в соответствии с фреймом UIViewControllers, но что произойдет, если позже этот макет потребуется изменить? Должен ли я реализовать свой собственный метод setNeedDisplay в этом контроллере представления? Или это как-то можно сделать, может быть, autoresizingMask или другим?

Я хотел бы иметь возможность изменить размер представления контроллера представления, а затем контроллер представления может все переставить как необязательный? Это правильный подход?

Спасибо Росс

1 Ответ

2 голосов
/ 24 июня 2010

Сначала вы должны инициировать представление в том размере, в котором вы хотите, чтобы оно было основано на родительском представлении. Затем вы можете выполнить следующее: размер подпредставления будет таким же, как у его родителя, а его родительский размер будет изменен:

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