- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我有一个自定义的 MKAnnotationView 子类。它完全按照我想要的方式显示 View 。在那个 View 中,我有一个按钮。我想捕获按钮上的事件以执行操作。这很好用。
但是,我不希望标注被忽略或消失。基本上,触摸标注中的按钮将开始播放声音,但我想保留注释,以便用户可以在需要时按停止,而无需再次触摸 map 图钉以恢复注释。在另一个例子中,我希望按钮触摸能够在标注中激活更多细节,所以我绝对不想在此时关闭标注。
当用户选择标注或标注内的按钮时,如何防止标注消失?
最佳答案
这可能不是最好的解决方案,但绝对有效。首先,我尝试了很多事情,比如观察上下文等等,但我从来没有摆脱过崩溃,而且这看起来很麻烦。所以,这就是我所做的:
我首先指定了使警报可见的控制因素。在我的例子中,我创建了一个自定义注释 View ,每当用户单击该自定义 View 上的按钮时,我希望它保持可见,甚至可能更改内容。因此,我在该自定义 View 上设置了一个委托(delegate),以便我的 map 可以知道什么时候发生了变化。在我的 map View Controller 中,我捕获了该消息并将类成员变量设置为 true 以表示我希望保留注释 View 。
注意:这将发生在选择消息出现之前。
现在,在我的 didDeselectAnnotation 方法中,我检查 bool 值。如果我想让它保持可见,我选择不删除我的注释,我重置 bool 值,然后手动重新选择注释,将动画设置为 NO。这让注释 View “保持”可见——也许是作弊,但用户看不出区别。每当该 bool 值表示可以取消选择时,我只需删除注释即可,一切正常。
所以,工作流程是这样的:
我希望这对其他人有帮助。我花了一些时间才弄明白这一点,所以我希望它能节省你的时间。
如果您找到更好的解决方案,请务必在此处发布!
关于iphone - 自定义 MKAnnotationView - 如何捕捉触摸而不关闭标注?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6811366/
MKPinAnnotationView 不允许您使用自定义图像作为“图钉”并同时启用拖动,因为一旦您开始拖动图像就会变回默认图钉。因此,我使用 MKAnnotationView 而不是 MKPinAn
我正在尝试通过动画使我的注释淡入淡出,因此我使用 0 的 alpha 创建它们,然后在 didAddAnnotation 中将它们的 alpha 设置为 1。有时我只添加一些注释,减去其他注释,但现在
我使用此代码创建我的自定义注释 View 。 - (MKAnnotationView *)mapView:(MKMapView *)mV viewForAnnotation:(id )annotati
iPhone SDK map 上的标注气泡上,标题和副标题属性的字体是否可以更改。 我对标注气泡中显示的默认字体不满意,并且想使用不同的字体来匹配我的应用程序的其余部分。然而,我没有看到太多提及这一点
我在MKMapView上添加了一个MKAnnotationView,当我长按它时,我希望它可以被抬起并移动到另一个位置。 如何做?特别感谢! 最佳答案 适用于 iOS 4.0 或更高版本 摘自 App
实际上,我正在我的应用程序中开发一些东西,它可以在我的 MKMapView 中显示注释这些注释应该是可单击的并将参数传递给方法。 现在的问题是如何在点击披露按钮时将参数传递给下一个函数。 对于注释的格
我一直在尝试创建一个必须显示多行文本的 MKAnnotationView。 有人指示我做下面网址中所说的事情 How to add more details in MKAnnotation in iO
我正在尝试在 MapKit 中模拟用户位置动画(其中用户的位置由脉动的蓝点表示)。我创建了 MKAnnotationView 的自定义子类,并在 drawRect 方法中尝试循环一组颜色。这是我正在做
我有一个MKAnnotationView ( draggable 属性设置为 YES )使用自定义图像,通过 image 设置属性(property)。当注释添加到 map 时,它具有自定义图像。但当
我已经对 MKAnnotationView 进行了子类化,以创建一个注释,该注释基本上通过重写 drawRect 来围绕 map View 上的点绘制一个圆。在以下情况下(在模拟器中),圆圈绘制得很好
我很难弄清楚如何让用户一次在 map 上选择多个注释。我的 annotationViews 不显示标注,但 annotationView 的图像在选择时会发生变化。有没有一种简单的方法来启用这种行为?
我在这里使用 Daniel 提供的自定义 MKAnnotationView 动画:Subclassing MKAnnotationView and overriding setDragState但我遇
我喜欢 iOS 6 中新的自动布局功能,但是在将它与我的 MKAnnotationView 子类结合使用时遇到了一些麻烦。 我在初始化方法中禁用了自动调整掩码转换。 self.translatesAu
我使用此代码在 Swift 中创建一个简单的 MKAnnotationView 标注。 let local_parking = CustomAnnotation() local_par
以下代码返回几个编译器错误: override init(frame: CGRect) { //Initializer does not override a designated initializ
在我的代码中,我使用Apple map 并在 View Controller 中正确设置mapView和自身的委托(delegate)。 在我的 ViewController 中,我还在 for 循环
我想根据它们代表的相对时间在 UIMapView 中显示不同颜色的图钉 但似乎 mapView:viewForAnnotation: 方法的作用与调用时间无关。 在我的代码示例中,我已经将文件中较早和
大家好,提前致谢 =) 我对 MKMapView 和 MKAnnotationView 有疑问。我需要在 MKMapView 上显示带有自定义图像的注释。为此,根据几个教程和其他 stackoverf
当您设置 MKAnnotationView 的可拖动属性时,默认行为似乎是: 1) 用户点击注释 2) 用户拖动注释 是否可以将其合二为一,以便用户无需先点击即可拖动注释? 最佳答案 试试这个源代码
我在一段时间 [4 秒] 后隐藏 MKAnnotationView 时遇到问题。我有一个名为 mapView 的 MKMapView,它使用 MKUserLocation 显示用户位置,我在他的
我是一名优秀的程序员,十分优秀!