Я реализовал MGSplitViewController, где у меня есть 6 строк в masterviewcontroller, и каждая загружает новый UIViewController в detailviewcontroller - я следовал примеру проекта Apple для использования нескольких контроллеров детального представления. Но у меня есть пара странных проблем с этим.
Во-первых, при начальной загрузке первый выбранный подробный контроллер представления отображается отлично. Однако, когда я выбираю разные строки в masterviewcontroller, чтобы изменить контроллер подробного представления, строка выбирается, но detailviewcontroller не изменяется - это продолжается таким же образом в течение нескольких щелчков - тогда все работает нормально.
Ну, почти, теперь, когда новый контроллер detailview действительно загружает, иногда представления становятся наложенными. Например, если я сначала выбираю контроллер viewview с табличным представлением, а затем выбираю тот, в котором есть только несколько кнопок - кнопки отображаются поверх таблицы. Если кто-то может понять, что я делаю неправильно, пожалуйста, дайте мне знать. Вот мой метод выбора.
- (void)tableView:(UITableView *)aTableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
/*
Create and configure a new detail view controller appropriate for the selection.
*/
switch (indexPath.row) {
case 1:
{
self.splitViewController.detailViewController = self.postViewController;
// popover = [[UIPopoverController alloc] initWithContentViewController:self.postViewController];
// [popover presentPopoverFromRect:CGRectMake(200, 0, 100, 100)
// inView:self.splitViewController.view
// permittedArrowDirections:UIPopoverArrowDirectionAny
// animated:YES];
break;
}
case 2:
self.splitViewController.detailViewController = self.latestViewController;
break;
case 3:
self.splitViewController.detailViewController = self.categoriesViewController;
break;
case 4:
self.splitViewController.detailViewController = self.messagesViewController;
break;
case 5:
self.splitViewController.detailViewController = self.searchViewController;
break;
case 6:
self.splitViewController.detailViewController = self.accountViewController;
break;
default:
break;
}
}