回答
您可以將目標設置爲任何instance/object
。實例/對象應該響應您設置的選擇器。否則,你會得到SIGABRT異常。
大多數情況下,我們將目標設置爲我們的自定義視圖控制器,因爲我們對某些事件進行了一些操作。如果我們在當前視圖控制器中定義動作,我們將Self
設置爲目標。你可以將它設置一些其他視圖控制器像下面,
AViewController *a = [[AViewController alloc] init];
[yourButton addTarget:a action:@selector(onButtonPressed:) forControlEvents:UIControlEventTouchUpInside];
當你點擊yourButton
視圖控制器實例a
的作用onButtonPressed:
將被觸發。 注意:AViewController應實現方法onButtonPressed:
。如果沒有,您將收到SIGABRT。
視圖控制器的實例?你能給我一些樣品嗎?在我將目標分配給實例控制器之後,我得到了程序接收信號「SIGABRT」。我的按鈕是全局的,並在同一個.m文件中調用全局函數 – WondererInAsh
謝謝你,EmptyStack。我可以按照你的指示做到,但我的問題仍然沒有完全解決。正如你所說,控制器應該實現該方法,但我在不同的文件中使用全局方法。我把全局方法放在頭文件中(例如Global.h),然後我將Global.h導入到AViewController中,但程序類型凍結。我想知道爲什麼? – WondererInAsh
@SomethingLikesNothing,您正在使用什麼代碼來設置目標動作? – EmptyStack
我有同樣的錯誤, 它解決了與[AViewController類]作爲目標的變化。
[yourButton addTarget:[AViewController class] action:@selector(onButtonPressed:) forControlEvents:UIControlEventTouchUpInside];
我的類也被聲明爲+符號,因爲它是一個用於所有應用程序的庫。
@interface SocialClass : NSObject
+ (void) gotoYoutube;
+ (void) gotoFacebook;
+ (void) gotoTwiter;
@end
- 1. 我可以在另一個按鈕內嵌入按鈕嗎?
- 2. 我可以阻止一個按鈕嗎?
- 3. 我可以爲Facebook分享按鈕添加一個自定義Facebook圖標嗎?
- 4. 我可以設置一個jQueryUI按鈕的自定義圖標
- 5. 我可以自定義UIReferenceLibraryViewController的外觀和「完成」按鈕嗎?
- 6. 我可以在GWT按鈕旁邊放一個JavaScript按鈕嗎?
- 7. 我們可以使用除自我以外的其他物體作爲按鈕的目標嗎?
- 8. 我可以指定一個始終運行的Makefile配方嗎?
- 9. 我可以從另一個函數內初始化一個靜態成員嗎?
- 10. 我可以自定義我的iOS應用程序PNS標題和按鈕嗎?
- 11. 我可以使我的MXML組件成爲一個Singleton嗎?
- 12. 我可以使用SVG圖像作爲按鈕圖標嗎?
- 13. 我可以讓cmake始終生成調試符號嗎?
- 14. 我可以使錨標籤覆蓋另一個錨標籤嗎?
- 15. 我可以在另一個表單中獲得提交按鈕的名稱嗎?
- 16. 我可以在另一個表單中獲得提交按鈕的名稱嗎?
- 17. 開始一個新的Meteor.js項目,我可以使用它嗎?
- 18. 我可以在另一個班級初始化班級嗎?
- 19. 我可以做一個按鈕的捷徑嗎?
- 20. 我可以在Silverlight 4的RichTextBox中放置一個按鈕嗎?
- 21. Eclipse認爲我的項目是一個Android項目 - 我可以刪除而不重新開始嗎?
- 22. Android appwidget,我可以把按鈕嗎?
- 23. 我可以爲提交按鈕設置兩個值嗎?
- 24. 我可以在Makefile中調用我自己的腳本後調用另一個目標嗎?
- 25. 我可以將多個目錄符號鏈接成一個嗎?
- 26. 我可以標記一個UIColor嗎?
- 27. 我可以使用Java創建一個沒有標題按鈕的窗口嗎?
- 28. 我的目標是通過一個按鈕
- 29. 我可以向UIToolbar添加一個彩色按鈕嗎?
- 30. 我可以在allert窗口中放置一個HTML按鈕嗎?
你可以添加你得到的確切的崩潰日誌嗎?更重要的是,你嘗試過的(代碼)會使應用程序崩潰。 –