что-то действительно странное происходит со мной (по крайней мере, странно для меня). У меня есть контроллер представления (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;
}
результат, как я уже сказал, странный, если приложение запускается в портретном режиме, все работает, как я ожидаю, два представления хорошо отображаются в портретном и ландшафтном режимах. Если приложение запускается с устройством в альбомной ориентации, представления не заполняют весь экран. Посмотрите на этот скриншот.