我在xcode 4中創建了單個視圖項目。我添加了一個導航欄項目對象。在那我添加了一個名爲「完成」的導航欄按鈕。所有使用他的Xcode拖放。到該按鈕接上一個很簡單的IBAction爲iPhone導航欄按鈕項(UIButtonBarItem)的錯誤
- (IBAction) newContactDoneBtn:(id)sender
{
NSLog(@"INSIDE newContactDoneBtn");
}
在「發送的動作:」我連與此newContactDoneBtn IBAction爲完成按鈕。到現在爲止還挺好。如果我編譯並運行它可以正常工作,即我看到消息日誌。
現在這裏的踢球者,如果對那個完成按鈕,我附加一個模態故事板,即當用戶點擊那個完成按鈕,它將他們帶到另一個視圖控制器...我的自定義IBaction「newContactDoneBtn」永遠不會被調用,我看到新的屏幕。現在爲什麼會這樣?
一個簡單的例子,可視化所有這些將是iphone聯繫人應用程序中的「完成」按鈕。當你點擊添加一個新的聯繫人時,在那裏有完成按鈕,你在這些字段中輸入了一些內容並完成了,它會將你帶到另一個視圖控制器,並且它將新聯繫人添加到地址簿中。
這可能是UIBarButtonItem的限制,但任何人都可以告訴我,如果我錯過了什麼?
謝謝。我必須在我的自定義按鈕IBAction中使用prepareForSegue:action。 –
如果答案有幫助,請點擊空白複選標記將其標記爲已接受。這有助於他人知道您不再在這個問題上尋求幫助。 – jrturton
我遇到了與Xcode 4.2和iOS 5.0完全相同的問題。我想做一些UI更新(點擊UIBarButtonItem時在我的IBAction中開始加載指示器動畫),所以我必須將IBAction與prepareForSegue中的代碼分開,否則似乎沒有機會在UI中顯示加載指示器。我期望在prepareForSegue之前執行IBAction,因爲prepareForSegue會過渡到另一個UI視圖控制器。但是,它根本不起作用,並且如果連接到按鈕上的時候,IBAction將不會執行。而在我看來,這是一個iOS錯誤。 – nybon