iPhone: переместить подвид - PullRequest
       2

iPhone: переместить подвид

0 голосов
/ 09 марта 2012

У меня есть пользовательский UIView. в initWithFrame добавляю изображение

 - (id)initWithFrame:(CGRect)frame
{
 self = [super initWithFrame:frame];
if (self) {
     self.bgImage = [[[UIImageView alloc] initWithFrame:
        CGRectMake(frame.size.width - 10, 20, 50 , 50)] autorelease];
    [self.bgImage setImage:[UIImage imageNamed:@"myImage.png"];];
}    
return self;
}

Все хорошо, когда я создаю свой пользовательский UIView. Но когда я меняю его рамку, положение моего изображения не менялось. Как это исправить? Пробовал с маской авторазмера, но это не помогло.

1 Ответ

4 голосов
/ 09 марта 2012

Переопределить layoutSubviews примерно так:

- (void)layoutSubviews {
    [super layoutSubviews];
    self.bgImage.frame = CGRectMake(frame.size.width - 10.0f, 20.0f, 50.0f, 50.0f);
}

По сути, это вызывается всякий раз, когда необходимо изменить макет.Таким образом, вы должны установить рамки любых подпредставлений, как вам нужно.

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