接著上篇文章繼續(xù)講解自定義CalloutAnnotationView.
上面講過(guò),實(shí)際上它本身也是一個(gè)Annotation,那就之前一樣定義了秧秉,只不過(guò)一般項(xiàng)目里面CalloutAnnotationView稍微復(fù)雜點(diǎn)褐桌,大多都需要自定義,下面我們看看具體的實(shí)現(xiàn)。
上篇有效果圖我這里在貼上做的另外的效果圖其實(shí)都是差不多象迎。
首先荧嵌,既然你的CalloutAnnotationView是點(diǎn)擊大頭針時(shí)候那兩者之間肯定有關(guān)聯(lián)。你得把坐標(biāo)告訴這個(gè)CalloutAnnotationView砾淌,上面我們已經(jīng)知道了 大頭針的CLLocationCoordinate2D啦撮,現(xiàn)在只要賦值給它就行。前面說(shuō)了自定義CalloutAnnotationView其實(shí)和自定義大頭針是一樣汪厨,那我這里就不重復(fù)了赃春,直接上代碼,
這里面要注意的一點(diǎn)是 如果你的CalloutAnnotationView有點(diǎn)擊事件 那你需要額外的注意他的可點(diǎn)擊區(qū)域 劫乱,否則的話(huà)可能出現(xiàn)點(diǎn)擊無(wú)效聘鳞,
我在代碼里面已經(jīng)寫(xiě)了,這里的偏移量需要你們自己來(lái)調(diào)。
現(xiàn)在就是你的UI部分了 我這里還是和之前大頭針一樣直接用xib
實(shí)現(xiàn)部分和上一篇一樣要拂,最好大家自己動(dòng)手寫(xiě)寫(xiě)抠璃。
最后就是如何調(diào)用展示的問(wèn)題,上次也說(shuō)過(guò)其實(shí)他的原理和tableview類(lèi)似脱惰,都有點(diǎn)擊方法
這里面代碼里面加了判斷是否是需要點(diǎn)的大頭針搏嗡,具體的你可以根據(jù)你的項(xiàng)目來(lái)做相應(yīng)的調(diào)整。
其實(shí)最后實(shí)現(xiàn)下來(lái)還是和大頭針是一樣的拉一,只要你前面實(shí)現(xiàn)沒(méi)問(wèn)題采盒,我覺(jué)得CalloutAnnotationView也是一樣。