iPhone:使用FPPopover类时使用UIBarButtonItem时出错

iPhone:使用FPPopover类时使用UIBarButtonItem时出错,第1张

概述我正在使用为iPhone创建d出窗口的 FPPopover类. 我遵循自述文件中的确切步骤,但不是使用xib文件中的UIbutton,而是使用以编程方式创建的UIBarButtonItem.但是,我收到以下错误: Terminating app due to uncaught exception ‘NSInvalidArgumentException’, reason: ‘-[UIBarButto 我正在使用为iPhone创建d出窗口的 FPPopover类.
我遵循自述文件中的确切步骤,但不是使用xib文件中的UIbutton,而是使用以编程方式创建的UIbarbuttonItem.但是,我收到以下错误:

Terminating app due to uncaught exception ‘NSinvalidargumentexception’,reason: ‘-[UIbarbuttonItem supervIEw]: unrecognized selector sent to instance 0x6a3e420’

我复制粘贴与自述文件中相同的代码,但我只是更改(UIbutton *)okbutton与(ID)发送者(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,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;
解决方法 presentPopoverFromVIEw只接受一个UIVIEw子类. UIbarbuttonItem不是UIVIEw的子类,所以你需要找到与该按钮项相关的视图.这是我使用FPPopoverController的解决方案

UIbarbuttonItem *buttonItem = sender;    UIVIEw* btnVIEw = [buttonItem valueForKey:@"vIEw"];    //On these cases is better to specify the arrow direction    [popover setArrowDirection:FPPopoverArrowDirectionUp];    [popover presentPopoverFromVIEw:btnVIEw];

这应该工作!让我知道!

总结

以上是内存溢出为你收集整理的iPhone:使用FPPopover类时使用UIBarButtonItem时出错全部内容,希望文章能够帮你解决iPhone:使用FPPopover类时使用UIBarButtonItem时出错所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1062483.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存