Спасибо заранее.В настоящее время я разрабатываю версию приложения для iPad, которая на iphone имеет 3 вкладки, каждая из которых загружает 3 разных RSS-канала, а затем углубляется в детали с помощью контроллера навигации на iPhone.На iPad имеет смысл то, что я присоединяюсь к двум каналам в первом разделенном просмотре, а затем у меня есть отдельный мастер и подробности для третьего канала.
, что является лучшим способом для достижения этой цели.В настоящее время я настроил кнопку панели инструментов в первом подробном виде, который вызывает appdelegate, который переключает мастер и детали, так что
- (void)switchViews {
VideoSelectorViewController *masterViewController = nil;
VideoDetailiPadViewController *detailViewController = nil;
UIViewController *tempDetail = [self.splitViewController.viewControllers objectAtIndex:1];
UIViewController *tempMaster = [self.splitViewController.viewControllers objectAtIndex:0];
[tempDetail.view removeFromSuperview];
[tempMaster.view removeFromSuperview];
[tempDetail release];
[tempMaster release];
tempDetail = nil;
tempMaster = nil;
// if (row == 1) {
VideoSelectorViewController *newMasterViewController = [[VideoSelectorViewController alloc] initWithNibName:@"VideoSelectorViewController" bundle:nil];
masterViewController = newMasterViewController;
VideoDetailiPadViewController *newDetailViewController = [[VideoDetailiPadViewController alloc] initWithNibName:@"VideoDetailiPadViewController" bundle:nil];
detailViewController = newDetailViewController;
// }
// Update the split view controller's view controllers array.
NSArray *viewControllers = [[NSArray alloc] initWithObjects:masterViewController, detailViewController, nil];
self.splitViewController.viewControllers = viewControllers;
[viewControllers release];
/* // Dismiss the popover if it's present.
if (popoverController != nil) {
[popoverController dismissPopoverAnimated:YES];
}*/
// Configure the new view controller's popover button (after the view has been displayed and its toolbar/navigation bar has been created).
// if (detailViewController.popover != nil) {
[detailViewController showRootPopoverButtonItem:detailViewController.rootPopoverButtonItem];
//}
[masterViewController release];
[detailViewController release];
}
это работает нормально, когда iPad находится в альбомной ориентации, но на портрете кнопка не отображаетсяна панели инструментов, как я могу вызвать - (void) splitViewController: (UISplitViewController *) svc willHideViewController программно?Кроме того, управление памятью для моего метода, должен ли я освободить и установить на ноль предыдущий мастер и детали, как у меня с этими временными объектами в моем методе switchViews?
Другой метод состоит в том, чтобы перенести новый мастер на старыйи просто заменить деталь.что лучше, память, производительность и т. д. еще раз спасибо