作者powerwolf543 (小狼)
看板MacDev
标题[问题] 怎麽得到reuse的annotation呢?
时间Fri Feb 12 23:35:55 2016
一开始以为大头针不会自己回收
後来发现reuseAnnotaionView会自己管理
真的是太方便了
不过如果我想知道当前萤幕中有哪些大头针
那我应该往哪个方向着手呢?
有办法知道目前有使用的annotationView吗?
我研究了mapView的delegate感觉找不到我能用的
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 180.177.172.242
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/MacDev/M.1455291358.A.693.html
1F:→ yuanruo: mapview有个annotationView方法 取得所有的大头针 02/13 08:50
2F:→ yuanruo: 然後遍历这个数组 用(MKAnnotation)annotation接收 02/13 08:52
3F:→ yuanruo: 用[mapview viewForAnnotation:ann] 判断有值是就在萤幕 02/13 08:53
4F:→ powerwolf543: 可是如果是已经use了,如果我往旁边移动一点,他只 02/13 15:32
5F:→ powerwolf543: 会把没显示的显示出来。如果我依据region变动来取得 02/13 15:32
6F:→ powerwolf543: 的话,用这个protocal好像没办法精确拿到。 02/13 15:32
我找到方法了,提供给有需要的人做参考。
使用mapView.visibleMapRect可以得到可见的Rect
然後把可见的Rect使用[mapView annotationsInMapRect:visibleMapRect]
就能得到一个NSSet
里面放着当前可见的Annotation
如果有开UserLocation就会多一个
※ 编辑: powerwolf543 (180.177.172.242), 02/13/2016 22:37:42