我猜你正在使用自己的CalloutView類?
如果是這樣,您可以實現委託以處理CalloutView上的點擊或操作。
這裏是一個快速實現的例子:
讓我們想象一下,你在你的CalloutView收藏夾按鈕。
protocol MyCalloutViewDelegate: class
{
func MyCalloutViewDidTouchFavorite(calloutView: MyCalloutView)
}
class MyCalloutView: CalloutView
{
...
func favoriteButtonDidTouch()
{
self.delegate?.MyCalloutViewDidTouchFavorite(self)
}
}
而在你的MapViewController,可以實現這樣說:
// MARK: - MyCalloutViewDelegate
func MyCalloutViewDidTouchFavorite(calloutView: MyCalloutView)
{
let viewController: FavoriteViewController = FavoriteViewController()
self.navigationController?.pushViewController(viewController, animated: true)
}
在這個例子中,當用戶將在在CalloutView將導航到FavoriteViewController喜愛的按鈕點擊。
我希望這個例子能夠幫助您在CalloutView中爲您的特定動作處理您的CollectionView上的點按手勢。
你自己寫了什麼代碼來嘗試做這件事?請不要讓人們爲你做這項工作。告訴我們你已經嘗試了什麼,什麼不起作用,以表明你已經花時間去嘗試幫助你自己了,它使我們無法提供明顯的答案,最重要的是它可以幫助你獲得更具體和相關的信息回答。另請參閱[問] –