2017-02-24 51 views
-1

我有這個問題: 我正在開發一個地圖,集羣和位置標記的應用程序。點擊標記或羣集時,標註將打開: 1)在標記的標註中,我有一個textview,但無法滾動,因爲如果點擊它,背景上的地圖將會移動。 2)集羣的標註是一個集合視圖,其中有幾個項目,但我無法滾動它(水平方向設置),因爲如果我點擊集合視圖,地圖也會移動。如何將焦點放在標註上而不是在主視圖上? Swift 3

因此,正如標題所說,如何在顯示時重點關注標註?

謝謝!

+0

你自己寫了什麼代碼來嘗試做這件事?請不要讓人們爲你做這項工作。告訴我們你已經嘗試了什麼,什麼不起作用,以表明你已經花時間去嘗試幫助你自己了,它使我們無法提供明顯的答案,最重要的是它可以幫助你獲得更具體和相關的信息回答。另請參閱[問] –

回答

0

我猜你正在使用自己的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上的點按手勢。

相關問題