我們在視圖上放置了一個按鈕。當我們按下它時,沒有任何反應。它應該激發我們定義的功能。這就是我們所做的。iphone SDK:爲什麼我的按鈕不能觸發我的功能?
我們已經使用了界面生成器來將touch內部事件映射到我們的function_A。我們通過右鍵點擊我們的視圖控制器來驗證這一點,並且映射在接收到的操作部分下面。
還需要做什麼才能做到這一點?
我們在視圖上放置了一個按鈕。當我們按下它時,沒有任何反應。它應該激發我們定義的功能。這就是我們所做的。iphone SDK:爲什麼我的按鈕不能觸發我的功能?
我們已經使用了界面生成器來將touch內部事件映射到我們的function_A。我們通過右鍵點擊我們的視圖控制器來驗證這一點,並且映射在接收到的操作部分下面。
還需要做什麼才能做到這一點?
在Interface Builder中,您是否定義了一個函數並通過查看它出現在Identity Actions中的Identity Inspector中來檢查它是否可用於連接?規範是否完全符合該功能?要特別小心,如果你的函數沒有參數它具有名稱之後沒有冒號,如果是平時
- (IBAction)method:(id)sender
簽名,然後它有一個冒號。
您是否使用Connections Inspector將按鈕對象的「Touch Up Inside」動作連接到函數?當您查看Connections Inspector for Files的所有者(或任何包含按鈕功能的對象)時,是否可以看到連接存在?
請確保您已在IB中保存了筆尖,然後在Xcode中構建應用程序,以確保它具有最終版本的筆尖,該筆尖確實將您的動作連接到按鈕上。
在相應的IBAction爲方法的頂部,使用
NSLog(@"Button was pushed");
在控制檯中看到它是否實際上是響應行動,或者如果有一個在你的函數的一些其他問題。
確保視圖在界面構建器中的「查看屬性」下具有「用戶交互已啓用」。
謝謝 - 爲我解決了相同的問題。從另一個xib中剪切並粘貼視圖,並將IBAction連接起來,並沒有發生任何事情。 – iandotkelly 2011-10-11 23:13:13
是的。非常好的清單。它現在已經修復。謝謝。 – 2009-10-29 21:37:41