Я использую SplitviewController в приложении на основе вкладок, сначала я нажимаю на настройку (с помощью Splitviewcontroller), затем вызывается метод делегирования контроллера splitview, но когда я нажимаю на другую вкладку после этого, меняю ориентацию и затем снова открываю настройки (с splitviewcontroller)тогда метод делегата splitviewcontroller не вызывается .......
Я знаю, что в это время вызывается только метод viewWillAppear, но я хочу вызвать метод делегата splitViewcontroller в то время ... Скажите, пожалуйста, какчтобы вызвать метод делегата splitviewController в то время.
Заранее спасибо ..... Пожалуйста, помогите мне ....
в контроллере masterview
- (void)splitViewController:(UISplitViewController*)svc willHideViewController:(UIViewController *)aViewController withBarButtonItem:(UIBarButtonItem*)barButtonItem forPopoverController:(UIPopoverController*)pc {
// Keep references to the popover controller and the popover button, and tell the detail view controller to show the button.
barButtonItem.title = @"Settings";
self.popoverController = pc;
self.rootPopoverButtonItem = barButtonItem;
UINavigationController *nav = [self.splitViewController.viewControllers objectAtIndex:1];
UIViewController <SubstitutableDetailViewController> *detailViewController = [nav.viewControllers objectAtIndex:0];
[detailViewController showRootPopoverButtonItem:rootPopoverButtonItem];
}
- (void)splitViewController:(UISplitViewController*)svc willShowViewController:(UIViewController *)aViewController invalidatingBarButtonItem:(UIBarButtonItem *)barButtonItem {
UINavigationController *nav = [self.splitViewController.viewControllers objectAtIndex:1];
UIViewController <SubstitutableDetailViewController> *detailViewController = [nav.viewControllers objectAtIndex:0];
[detailViewController invalidateRootPopoverButtonItem:rootPopoverButtonItem];
self.popoverController = nil;
self.rootPopoverButtonItem = nil;
}
подробнопросмотр
- (void)showRootPopoverButtonItem:(UIBarButtonItem *)barButtonItem {
// Add the popover button to the left navigation item.
[self.navigationController.navigationBar.topItem setLeftBarButtonItem:barButtonItem animated:NO];
}
- (void)invalidateRootPopoverButtonItem:(UIBarButtonItem *)barButtonItem {
// Remove the popover button.
[self.navigationController.navigationBar.topItem setLeftBarButtonItem:nil animated:NO];
}