2010-09-15 34 views
4

我試圖在接口生成器中將UIButton連接到IBAction,但IB不會顯示我定義的方法作爲掛接它的選項。界面生成器將不會看到操作方法

- (IBAction)someAction:(id)sender; 

這就是我在.h文件,然後在M檔我有

- (IBAction)someAction:(id)sender{ 
NSLog(@"Button Tapped."); } 

的IB文檔連接到類我知道,因爲那類也有一個UIPicker,並且連接好。

任何幫助將是這個輝煌,

感謝, Callaghan001。

+0

您是否保存了頭文件? – Satyam 2010-09-15 10:07:02

回答

3

確保您實際上爲按鈕的事件(可能觸及內部)配置了處理程序,而不是按鈕本身。因此,不要直接從按鈕拖動,要麼按住ctrl鍵點擊按鈕以查看其連接,並將其從內部事件拖動到目標,或按住Ctrl單擊目標,找到操作並將其拖動到按鈕。如果在這些情況下動作沒有出現在目標上,並且你確信界面生成器知道它是什麼類,那麼我很困惑。

+0

不,我正在使用裏面的選項,它仍然沒有出現。它真的很煩人。在我上次更新xcode之後,我曾經看到過這種情況,最終它無緣無故地再次開始工作,但它只是令人沮喪。 – Callaghan001 2010-09-15 10:16:09

+0

然後我很困惑。除了明顯的「解決方案」,比如重啓xcode/interface builder,我假設你已經嘗試過了。 – zem 2010-09-15 10:20:25

+1

剛剛嘗試重新啓動並清除了機器的PRAM,並且最終它現在正在工作而不更改代碼。頭腦爲什麼不起作用是頭疼的問題。 – Callaghan001 2010-09-15 10:39:02

-2

我想你的實現必須

- (void)someAction:(id)sender 
{ 
    NSLog(@"Button Tapped."); 
} 
+0

沒有IBAction也可以工作,我用PR重置了它來固定它,會留意它,希望它不會繼續發生。 – Callaghan001 2010-09-16 12:39:22

4

我從界面生成器手動在類文件中讀取固定的這個問題。只要做File - > Read Class - >找到你定義IBAction的.h文件。 - >打開! 然後界面生成器會說類似於「解析一個類文件」

+0

這也可以揭示IB錯誤消息,這可以用於追蹤IB混淆的其他情況。 – 2011-07-01 01:05:03

1

同樣的問題,讀取類文件並沒有解決它,而是將控制器身份檢查器中的類名從UIViewController更改爲正確的子類名。

1

嘗試在.h文件中添加-(IBAction)testFunction:(id)sender;

它爲我工作。

1

我有這個問題,重新啓動Xcode沒有解決它。

什麼解決了這個問題對我來說是:

  1. 選擇File Owner
  2. 轉到Identity InspectorUtilities下,右側面板)。
  3. 根據​​部分,只需選擇文本字段(您應該在其中顯示自定義的UIViewController子類名稱)並點擊'Enter'。