Я искал справочную информацию по изменению размера, но мне не удалось найти много. Я знаю, что мне нужно установить autoresizesSubviews
в суперпредставлении и autoresizingMask
в подпредставлении.
Я сделал это, и мои UIImageViews правильно изменили размер, но мой пользовательский подкласс UIView - нет.
Код для UIImageView:
UIImageView *newX = [[[UIImageView alloc] initWithImage:dot] autorelease];
[newX setAutoresizingMask:UIViewAutoresizingFlexibleWidth];
[newX setFrame:CGRectMake(0, 0, self.view.bounds.size.width, 1)];
[self.view addSubview:newX];
Код для пользовательского подкласса UIView:
trace = [[TraceView alloc] initWithFrame:self.view.bounds];
[trace setAutoresizingMask:(UIViewAutoresizingFlexibleBottomMargin | UIViewAutoresizingFlexibleRightMargin)];
[self.view addSubview:trace];
Из того, что я могу сказать, представление вращается, как и ожидалось, но не изменяет размер. Я больше не вижу его нижней части, и он не заполняет экран справа.
Нужно ли что-нибудь добавлять в подкласс UIView, чтобы изменение размера работало правильно?
EDIT:
Я изменил autoresizingMake на (UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight)
и назвал [subview setNeedsDisplay];
Я не уверен, почему это необходимо, так как UIImageViews работают без него, но теперь он ведет себя как ожидалось.