Я разрабатываю приложение "только в ландшафтном режиме" для iPad.Проблема в том, что мои представления имеют неправильные позиции на экране, и я не могу найти причину ...
Я установил необходимые свойства в Info.plist:
<key>UIInterfaceOrientation</key>
<string>UIInterfaceOrientationLandscapeRight</string>
<key>UISupportedInterfaceOrientations</key>
<array>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
У меня есть такая иерархия:
UIWindow -> MainMenuViewController.view -> MyTableviewController.view
В методе AppDelegate application:didFinishLaunchingWithOptions:
у меня есть этот код: CGRect rect = [[UIScreen mainScreen]оценки];[window setBounds: rect];
mainMenuController = [[MainMenuViewController alloc] init];
[window addSubview:mainMenuController.view];
[window makeKeyAndVisible];
return YES;
В MyMenuController viewDidload:
у меня есть это:
[super viewDidLoad];
[[UIApplication sharedApplication] setStatusBarHidden:YES];
SelectPictureTableViewController *selectPictureViewController = [[SelectPictureTableViewController alloc] initWithStyle:UITableViewStylePlain];
[selectPictureViewController.view setBounds:CGRectMake(0.0, 128.0, 1024.0, 640.0)];
[self.view addSubview:selectPictureViewController.view];
В SelectPictureTableViewController's initWithStyle:
я написал, что:
if ((self = [super initWithStyle:style])) {
templatesArray = [[NSMutableArray alloc] init];
tumbnailsInRow = 3;
self.tableView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"bg.png"]];
self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
self.tableView.allowsSelection = NO;
}
return self;
В обоих ViewControllers у меня естьэта реализация:
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
return (interfaceOrientation != UIInterfaceOrientationPortrait &&
interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown);
}
Для меня это выглядит так, как будто должно отображаться 1024x640 табличное представление.Но он отображает таблицу с высотой около 350 пикселей и смещен к середине экрана (около 250 пикселей сверху).У вас есть идеи, почему это может быть так смещено?Возможно, я должен установить границы где-то и забыл это сделать?Застрял в этой проблеме в течение нескольких часов.
PS: Без MainMenuViewController положение представления таблицы было в порядке (когда я добавил представление таблицы как subView UIWindow).Но мне нужно разместить другие элементы пользовательского интерфейса на экране, и мне нужен этот MainMenuViewController ...
Cheers!