2013-06-21 49 views
0

我添加了一個水龍頭手勢識別器到UICollectionView中,但是當我嘗試將控制拖動到控制器的實現中時,點擊手勢識別器不會添加方法。關於可能發生什麼的任何想法?水龍頭手勢識別器不會對目標動作

+0

其實,我的錯。刪除了我的答案。我剛剛檢查過,你顯然可以控制 - 直接拖入@implementation。不知道爲什麼這不適合你。 – geraldWilliam

回答

0

以下兩個條件必須滿足:

  • 你必須確保你所指定的子類在Interface Builder(例如,如果把這個方法在您的視圖控制器,請確保您有視圖控制器在Interface Builder中爲您的場景指定的子類);

    enter image description here

  • 如果連接動作到現有的,該方法必須在類的必須的IBAction(它就像一個void,但必須指定一個「返回類型」的實施IBAction否則IB不會讓你連接起來的動作),例如:

    - (IBAction)handleTap:(UITapGestureRecognizer *)gesture 
    { 
        // do whatever I want to handle the tap here 
    } 
    

    如果一個方法void或指定的其他一些返回類型,接口生成器不會讓你建立連接。

就個人而言,我開發在Interface Builder中的UI元素,然後再控制拖動到@interface,讓Interface Builder的實際添加該接口和實現的外殼爲我,然後我的代碼添加到該。

+0

原來我的控制器有錯誤的類,所以我解決了這個問題,現在我可以拖動並創建一個IBAction,但是我仍然無法連接到我的預先存在的Target-Action方法,該方法返回IBAction? – user2076774

+0

@ user2076774每當我偶然發現這些問題時,總是無法正確指定子類或不正確的方法簽名(例如'IBAction'返回類型和一個參數)。沒有看到方法定義或項目,很難說你的項目發生了什麼。如果你在某個地方上傳它,我很樂意看看。 – Rob

+0

嘿所以它似乎是一個Xcode的錯誤,因爲我恢復Xcode,它的工作!儘管如此,您儘可能幫助我,謝謝! – user2076774