2014-03-27 69 views
0

我添加一個按鈕作爲spriteNode到一個場景,我想在觸摸取消時運行一個動作。在Xcode調用「觸摸取消」方法

我添加一個「觸摸取消」的方法,並寫一個「NSLog」來測試這個方法是否被調用。運行我的項目後,沒有輸出顯示此方法被調用。

我該如何運行「觸摸取消」方法到我的按鈕?

+3

觸摸取消只在意外事件發生時纔會調用(如電話)。嘗試覆蓋'touchesEnded:' – dasdom

+0

您是否想在觸摸按鈕時調用方法?或者當按鈕被取消或整體觸摸被取消時? – Woodstock

+0

我調用一個方法,當用戶點擊按鈕時改變按鈕的圖像。當用戶將手指移出按鈕時,我需要另一種方法將圖像更改回前一個方法。 – Tongyue

回答

0

爲了能夠有效地實現類似touches的事情取消基於touchPosition的按鈕節點,您需要繼承SKSpriteNode以充當按鈕。它將不得不自行實施觸摸代表。

如何做到這一點的樣本可以在這個回答中找到:

https://stackoverflow.com/a/19199748/2043580

它包括代碼設置紋理回到未選中狀態,當接觸點走出節點的邊界在-touchesMoved方法。