что-то действительно странное, это происходит со мной (по крайней мере, странно для меня). У меня есть контроллер представления (fileManagerViewController), пользовательский интерфейс которого в основном представляет собой пустое представление с панелью инструментов сверху.Я сделал этот интерфейс с IB.на панели инструментов у меня есть несколько кнопок, две из которых используются для переключения между двумя видами.Интерфейс для двух представлений, которые я должен переключить, был сделан с помощью кода.
- Внутри viewDidLoad FileManagerViewController я написал эти
-(void) viewDidLoad {
[super viewDidLoad];
fileManagerTableView = [[FileManagerTableView alloc] init];
fileManagerGridView = [[FileManagerGridView alloc] init];
self.view.autoresizingMask = UIViewAutoresizingFlexibleHeight
|UIViewAutoresizingFlexibleWidth;
self.view.autoresizesSubviews=YES;
self.view addSubview:fileManagerTableView.view];
[self.view addSubview:fileManagerGridView.view];
[fileManagerTableView.view setHidden:YES];
}
- теэто два метода loadView
-(void) loadView {
CGRect fileGridViewFrame = CGRectMake(0.0, 50.0, 1024,768);
fileGridView = [[[AQGridView alloc]
initWithFrame:fileGridViewFrame]
autorelease];
fileGridView.dataSource=self;
fileGridView.delegate=self;
fileGridView.autoresizingMask=UIViewAutoresizingFlexibleWidth|
UIViewAutoresizingFlexibleHeight
fileGridView.autoresizesSubviews=YES;
fileGridView.bounces;
fileGridView.backgroundColor = [[UIColor colorWithPatternImage:
[UIImage imageNamed:@"bg.png"]]];
[self.fileGridView reloadData];
self.view = fileGridView;
}
-(void) loadView {
CGRect fileTableViewFrame = CGRectMake(0.0, 44.0, 1024,768);
fileGridView = [[[UITableView alloc]
initWithFrame:fileTableViewFrame]
autorelease];
fileGridView.dataSource=self;
fileGridView.delegate=self;
fileGridView.autoresizingMask=UIViewAutoresizingFlexibleWidth|
UIViewAutoresizingFlexibleHeight
fileGridView.autoresizesSubviews=YES;
fileGridView.bounces;
fileGridView.backgroundColor = [[UIColor colorWithPatternImage:
[UIImage imageNamed:@"bg.png"]]];
[self.fileGridView reloadData];
self.view = fileGridView;
}
В результате, как я уже сказал, странно, если приложение запускается в портретном режиме, все работает так, как я ожидаю, два представления хорошо отображаются в портретнойи ландшафтный режим.Если приложение запускается с устройством в горизонтальной ориентации, представления не заполняют весь экран.Посмотрите на этот скриншот