有没有可能在选择另一个对象时解除弹出控制器?

时间:2011-12-06 12:17:56

标签: ios ipad uipopovercontroller

我有一个MapView,我通过推动UIPopover控制器编辑了我的注释标注,我在其上添加了一些表视图。 我想实现我不需要点击以便我的弹出控制器在我例如在地图上选择另一个注释..有没有可能在后台启用这些对象而不点击?

有任何想法或建议可以解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

由于UIPopoverController被视为模态,因此默认行为是您所描述的行为:必须首先关闭弹出窗口,然后再与其下的视图进行交互。

但是,您可以通过分配其passthroughViews属性与popover下的视图进行交互:

UIPopoverController Class Reference

  

显示时,弹出窗口外的水龙头会导致弹出窗口   被自动解雇。允许用户与之交互   指定视图而不是解除弹出窗口,可以指定一个或   有关passthroughViews属性的更多视图。

     

<强> passthroughViews

     

用户可以在弹出框中与之交互的视图数组   可见。

     

@property(非原子,复制)NSArray * passthroughViews

     

讨论

     

当弹出窗口处于活动状态时,与其他视图的交互是   通常禁用,直到弹出被解雇。分配数组   对此属性的视图允许弹出窗口外的水龙头   由相应的观点处理。

这样,您就可以在显示弹出窗口时与MapView进行交互。

当您通过调用dismissPopoverAnimated:

选择其他注释时,可以关闭当前显示的弹出窗口
  

<强> dismissPopoverAnimated:

     

以编程方式解除弹出窗口。

     
      
  • (无效)dismissPopoverAnimated:(BOOL)动画
  •   
     

参数

     

动画指定“是”以设置解除弹出窗口的动画或“否”   立即解雇。

     

讨论

     

您可以使用此方法以编程方式关闭弹出窗口   响应弹出窗口内的水龙头。点击之外的   popover的内容会自动关闭popover。