我得到了一个MapView,我通过推入一个UIPopover控制器来编辑注释的标注,我在这个控制器上添加了一些表视图。我想实现的是,当我选择地图上的另一个注释时,我不需要点击,这样我的弹出控件就会关闭。有没有可能在不单击的情况下在背景中启用这些对象?
有什么想法或建议来解决这个问题吗?
发布于 2011-12-06 21:35:05
因为UIPopoverController被认为是模态的,所以默认行为就是您所描述的行为:在与它下面的视图交互之前,您必须首先关闭弹出窗口。
但是,您可以通过指定视图的passthroughViews属性来与弹出窗口下的视图进行交互:
UIPopoverController Class Reference
显示时,在弹出窗口外轻触可使弹出窗口自动解除。若要允许用户与指定的视图进行交互而不关闭弹出窗口,可以将一个或多个视图分配给passthroughViews属性。
passthroughViews
用户可以在弹出窗口可见时与之交互的视图数组。
@property (非原子,复制) NSArray *passthroughViews视图
讨论
当弹出按钮处于活动状态时,通常会禁用与其他视图的交互,直到取消弹出按钮为止。将视图数组分配给此属性允许相应的视图处理弹出窗口之外的点击。
这样,您应该能够在弹出窗口显示时与MapView进行交互。
当您通过调用dismissPopoverAnimated:选择另一个批注时,可以关闭当前正在显示的弹出窗口
dismissPopoverAnimated:
以编程方式关闭弹出窗口。
参数
animated指定YES以动画方式解除弹出,或指定NO立即解除弹出。
讨论
您可以使用此方法以编程方式关闭弹出窗口,以响应弹出窗口内的点击。在弹出窗口内容之外点击会自动关闭弹出窗口。
https://stackoverflow.com/questions/8399752
复制相似问题