WEPopoverController presentPopoverFromBarButtonItem 导致指定的 UIBarButtonItem 消失
Posted
技术标签:
【中文标题】WEPopoverController presentPopoverFromBarButtonItem 导致指定的 UIBarButtonItem 消失【英文标题】:WEPopoverController presentPopoverFromBarButtonItem is causing the specified UIBarButtonItem to disappear 【发布时间】:2011-12-09 16:46:24 【问题描述】:单击屏幕底部工具栏中的 UIBarButtonItem 后,我开始使用WEPopoverController 显示一些控件。弹出框显示正常,并且弹出框内的控件可以正常工作,但是一旦显示弹出框,它所锚定的 UIBarButtonItem 就会消失!
这是显示的代码,非常简单:
WEPopoverController *wePopover = [[WEPopoverController alloc] initWithContentViewController:audioController];
[wePopover setPopoverContentSize:CGSizeMake(200, 150)];
[wePopover presentPopoverFromBarButtonItem:voiceButton permittedArrowDirections:UIPopoverArrowDirectionDown animated:YES];
如果我使用 presentPopoverFromRect,它会起作用,但这不是理想的解决方案。
有人遇到过这个问题吗?
【问题讨论】:
你解决过这个问题吗?我在这里遇到同样的问题。此外,箭头永远不会正确指向按钮。 我认为我们从来没有这样做过。我最终只使用了 presentPopoverFromRect: 但我们已经改变了布局并且不再使用弹出框。祝你好运。 我也有这个问题,这是 Github 上的这个问题:github.com/werner77/WEPopover/issues/26 【参考方案1】:我猜问题出在类别类 UIBarButtonItem(WEPopover)
上,它实现了- (CGRect)frameInView:(UIView *)v
。
在此过程中,自定义视图被取消,之后不会返回到视图层次结构。
如果您尝试使用标准 barButtonItem(无自定义视图),则弹出框将正确显示,而不会隐藏该项目(但这不是解决方案)。
无论如何,从 rect 呈现也是我使用的解决方案。
【讨论】:
以上是关于WEPopoverController presentPopoverFromBarButtonItem 导致指定的 UIBarButtonItem 消失的主要内容,如果未能解决你的问题,请参考以下文章
ini http://www.instalinux.com/download/preseed1132.txt
Cobbler+preseed自动化安装Ubuntu18/19系统
运维部署自动化实践(二)PXE+Preseed自动安装Ubuntu16.04 server
ini Ubuntu Preseeding安装参考:https://help.ubuntu.com/13.10/installation-guide/example-preseed.txt