IB のボタンからこのアクションを実行すると、メソッドは正常に呼び出されます。コードから実行すると、認識されないセレクターがインスタンス エラーに送信されてアプリがクラッシュします。
メソッドは次のとおりです。
-(void)bottomCenter:(id)sender
{
[self popover:sender];
}
-(void)popover:(id)sender
{
//the controller we want to present as a popover
DemoTableController *controller = [[DemoTableController alloc] initWithStyle:UITableViewStylePlain];
controller.delegate = self;
popover = [[FPPopoverController alloc] initWithViewController:controller];
//popover.arrowDirection = FPPopoverArrowDirectionAny;
popover.tint = FPPopoverDefaultTint;
if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
{
popover.contentSize = CGSizeMake(300, 500);
}
else {
popover.contentSize = CGSizeMake(200, 300);
}
popover.arrowDirection = FPPopoverArrowDirectionAny;
//sender is the UIButton view
[popover presentPopoverFromView:sender];
}
そして、これはツールバーボタンから呼び出す方法です:
UIBarButtonItem *item3 = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"icons-footer-filter.png"] style:UIBarButtonItemStylePlain target:self action:@selector(bottomCenter:)];
と間違って呼んでいtarget:self action:@selector(bottomCenter:)
ますか?