iPhone: ошибка при использовании класса FPPopover при использовании его с UIBarButtonItem
Я используюFPPopover класс, который создает всплывающие окна для iPhone. Я выполнил точные шаги, которые есть в файле readme, но вместо использования кнопки UI из файла xib я использую UIBarButtonItem, созданный программным способом. Но я получаю следующую ошибку:
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UIBarButtonItem superview]: unrecognized selector sent to instance 0x6a3e420'
Я скопировал и вставил тот же код, что и в файле readme, но я только что изменил (UIButton *) okButton с (id) отправителем (идентификатор здесь UIBarButtonItem *)
-(void)popover:(id)sender
{
//the view controller you want to present as popover
TestClass *controller = [[TestClass alloc] init];
//our popover
FPPopoverController *popover = [[FPPopoverController alloc] initWithViewController:controller];
//the popover will be presented from the okButton view
[popover presentPopoverFromView:sender];
//release
[controller release];
}
Я думал, может быть, это связано с UIBarButtonItem, который не является UIButton? Или это что-то еще? Я попытался преобразовать UIBarButtonItem в UIButton, но все равно дал мне ту же ошибку. Какие-либо решения для этого?
Еще одно замечание на всякий случай: вот как я программно создал панель навигации вместе с кнопкой панели:
UINavigationBar *navBar = [[UINavigationBar alloc] initWithFrame:CGRectMake(320, 0, 320, 44)];
UINavigationItem *navItem = [[UINavigationItem alloc] initWithTitle:@"By Clubs"];
[navBar pushNavigationItem:navItem animated:NO];
UIBarButtonItem *editButton = [[UIBarButtonItem alloc] initWithTitle:@"Filter"
style:UIBarButtonItemStyleBordered
target:self
action:@selector(popover:)];
navItem.rightBarButtonItem = editButton;