Я создал UIViewController и UIView с двумя UIButtons в нем.Autoresizing subviews в iPhone программно
self.view = [[UIView alloc]initWithFrame:CGRectMake(0,0,320,480)];
self.view.autoresizesSubviews = YES;
self.view.backgroundColor = [UIColor redColor];
UIView *view;
view = [[UIVew alloc]initWithFrame:CGRectMake(0,0,320,480)];
view.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
UIButton *button1;
button.frame = CGRectMake(100,130,120,50);
[button addTarget:self action:@selector(buttonAction:) forControlEvents:UIControlEventTouchUpInside];
[view addSubview:button];
[controller addSubview:view];
// […]
- (void)buttonAction:(id)sender
{
// I have created another view for a purpose
[view removeFromSuperview];
UIView *view_obj;
view_obj.backgroundColor = [UIColor greenColor];
view_obj.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleWidth;
[self.view addSubview:view_obj];
}
Проблема: Когда я изменить ориентацию в ландшафт вид, который имеет кнопку изменяет размер, но когда я нажимаю на кнопку вид с blueColor отображается без autoresized. Где я вижу половину от корневого вида в redColor и наполовину как subview в greenColor.I также переопределил метод ShouldAutoRotate и сделал этот проект программно. Пожалуйста, ответьте мне.
Hi sagar, Спасибо большое .. Я пробовал и это вроде как работа. У меня есть еще одна проблема. Когда я превращаю его в пейзаж, мой навигационный контроллер слегка приоткрывается от экрана. Как правильно установить его? – Cathy