После прочтения примера Apple: MultipleDetailViews , который демонстрирует, как использовать UIPopOverController
с двумя контроллерами подробного представления, я не могу понять, как добавить пользовательское представление к barButtonItem
, существующему в splitViewController
метод делегата:
-(void)splitViewController:(UISplitViewController*)svc willHideViewController: (UIViewController *)aViewController withBarButtonItem:(UIBarButtonItem*)barButtonItem forPopoverController:(UIPopoverController*)pc {
self.popoverController = pc;
barButtonItem.text = @"root view controller";
self.rootPopoverButtonItem = barButtonItem;
UIViewController <SubstitutableDetailViewController> *detailViewController = [mySplitViewController.viewControllers objectAtIndex:0];
[detailViewController showRootPopoverButtonItem:self.rootPopoverButtonItem];
}
поповерная кнопка хорошо работает с формой по умолчанию, но когда я пытаюсь что-то вроде этого:
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
UIImage *customImage = [UIImage imageNamed:@"popOver.png"];
[button setBackgroundImage: [UIImage imageNamed:@"popOver.png"] forState:UIControlStateNormal];
button.frame= CGRectMake(0.0, 0.0, customImage.size.width, customImage.size.height);
[button addTarget:self action:@selector(???) forControlEvents:UIControlEventTouchUpInside];
barButtonItem.customView = button;
Я не знаю, что за селектор для этой кнопки, который заставит всплывающее окно отображаться правильно, мой поповер работает хорошо без селектора, используя методы делегата UISplitViewController
, так какой тип селектора мне здесь поставить?