在弹出窗口处于活动状态时与其他视图交互

时间:2012-04-01 04:48:37

标签: objective-c ios uiview interactive uipopover

我有一个toolBar,我已经设置了两个UIBarButtonItemUIBarButtonItem都包含UIButtoncustomView s。

我为Touch Up Inside事件激活了一个popover,如下所示,

    [popover1 presentPopoverFromBarButtonItem:buttonItem1 permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];

我在主视图中有另一个名为 clearFilters UIButton。 (这也是包含上述toolBar的视图。)我已经为 clearFilters 按钮的Touch Up Inside事件声明了一种方法。

我的问题是, popover处于活动状态时,我无法与 clearFilters 按钮互动。所以,我正在寻找与 clearFilters 按钮互动的解决方案,而popover处于有效状态。

我尝试为 popover 添加passthroughViews属性,如下所示,它无法正常工作。

popover1.passthroughViews = [NSArray arrayWithObject:clearFiltersButton];

可能是什么原因。正如文档中提到的,我看不出任何问题。

我希望如果上述内容正确无误,那么 clearFilters 按钮的Touch Up Inside事件应该会启动。

所以,请告诉我是否有任何问题或必要的方法来处理这件事。

我正在研究XCode4和iOS 4.3。

感谢。

1 个答案:

答案 0 :(得分:6)

UIPopoverController documentation显示了为什么在弹出窗口可见时可以点按其他栏按钮的原因:

“在展示popover时,此方法会将拥有该按钮的工具栏添加到popover的直通视图列表中。”

尝试查询并记录popover的passthrough视图。它已经有了东西吗?也许这样的事情会起作用吗?

myPopover.passthroughViews = [myPopover.passthroughViews arrayByAddingObject:clearFilters];

我没有测试过这段代码,但值得一试。