При выборе строки в главном представлении UISPlitViewControler, когда он находится в режиме всплывающего окна. Разве это не должно уволить автоматически? Как я могу исправить это там?
Обычно я делаю [self.popoverController dismissPopoverAnimated:YES];
, но popoverController
в этом случае не распознается.
Я думал, что UISplitViewController
должен делать это автоматически?
Вот мой код UISplitViewDelegate, который находится в моем detailViewCOntroller:
- (void)splitViewController:(UISplitViewController *)svc willHideViewController:(UIViewController *)aViewController withBarButtonItem:(UIBarButtonItem *)barButtonItem forPopoverController: (UIPopoverController *)pc
{
barButtonItem.title = @"Medical Codes";
NSMutableArray *items = [[self.toolbar items] mutableCopy];
[items insertObject:barButtonItem atIndex:0];
[self.toolbar setItems:items animated:YES];
[items release];
}
// Called when the view is shown again in the split view, invalidating the button and popover controller.
- (void)splitViewController:(UISplitViewController *)svc willShowViewController:(UIViewController *)aViewController invalidatingBarButtonItem:(UIBarButtonItem *)barButtonItem
{
NSMutableArray *items = [[self.toolbar items] mutableCopy];
[items removeObjectAtIndex:0];
[self.toolbar setItems:items animated:YES];
[items release];
}
В моем приложении делегат:
@property (nonatomic, retain) IBOutlet UISplitViewController *splitViewController;
@property (nonatomic, retain) IBOutlet DetailViewControlleriPad *rightViewController;
@property (nonatomic, retain) IBOutlet RootViewController * leftViewController;
И эти свойства подключены в IB. RootViewController выдвигает на другие представления таблицы, которые должны быть отклонены, когда они выбраны в режиме popover.
редактировать
- (void)setDetailItem:(id)newDetailItem
{
if (detailItem != newDetailItem)
{
[detailItem release];
detailItem = [newDetailItem retain];
[self.myTableView reloadData];
}
}