首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当另一个对象被选中时,是否有可能取消弹出控制器?

问当另一个对象被选中时,是否有可能取消弹出控制器?
EN

Stack Overflow用户
提问于 2011-12-06 20:17:56
回答 1查看 2.9K关注 0票数 0

我得到了一个MapView,我通过推入一个UIPopover控制器来编辑注释的标注,我在这个控制器上添加了一些表视图。我想实现的是,当我选择地图上的另一个注释时,我不需要点击,这样我的弹出控件就会关闭。有没有可能在不单击的情况下在背景中启用这些对象?

有什么想法或建议来解决这个问题吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-12-06 21:35:05

因为UIPopoverController被认为是模态的,所以默认行为就是您所描述的行为:在与它下面的视图交互之前,您必须首先关闭弹出窗口。

但是,您可以通过指定视图的passthroughViews属性来与弹出窗口下的视图进行交互:

UIPopoverController Class Reference

显示时,在弹出窗口外轻触可使弹出窗口自动解除。若要允许用户与指定的视图进行交互而不关闭弹出窗口,可以将一个或多个视图分配给passthroughViews属性。

passthroughViews

用户可以在弹出窗口可见时与之交互的视图数组。

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

讨论

当弹出按钮处于活动状态时,通常会禁用与其他视图的交互,直到取消弹出按钮为止。将视图数组分配给此属性允许相应的视图处理弹出窗口之外的点击。

这样,您应该能够在弹出窗口显示时与MapView进行交互。

当您通过调用dismissPopoverAnimated:选择另一个批注时,可以关闭当前正在显示的弹出窗口

dismissPopoverAnimated:

以编程方式关闭弹出窗口。

  • (void)dismissPopoverAnimated:(BOOL)animated

参数

animated指定YES以动画方式解除弹出,或指定NO立即解除弹出。

讨论

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8399752

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档