所以我見過類似的問題,但他們沒有幫助。我也讀過Apple的文檔,但我無法理解我出錯的地方。 AFAIK我做了一切合乎邏輯的事情,但是當我點擊UIToolbar
疊加層上的完成按鈕時,可以按下按鈕,但它不會執行任何操作。這顯然意味着它無法確認書面代碼。但是如何?從UIBarButtonItem創建nib視圖?
我想在我的UIToolbar
上單擊完成按鈕時調出「TableViewController」的.nib。但下面的內容不允許點擊來創建新視圖。我該如何糾正這一點?請告訴我我錯在哪裏,應該替換什麼以及爲什麼。
//Here's the selector:
UIBarButtonItem *doneButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:
UIBarButtonSystemItemDone target:self action:@selector(doneButtonPressed)];
下面是我做了我的動作。
-(void)doneButtonPressed {
TableViewController *tableView = [[TableViewController alloc]
initWithNibName:@"TableViewController" bundle:nil];
tableView.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
[self presentModalViewController:tableView animated:YES];
}
// Yet nothing happens when I click on my done button on my overlay. The button
// can be clicked, but nothing happens. Please shed any insight pleasee!
您可能想要診斷問題是按鈕還是方法,因此請在'doneButtonPressed'中放置一個斷點(或NSLog),並確定該方法是否正在調用,而不是按照您的預期進行,或者是否未調用在所有。然後,您可以將您的診斷工作集中在正確的領域。 (順便說一下,我假設bar按鈕和'doneButtonPressed'方法的初始化都在視圖控制器中,而不是在某個自定義視圖類中。) – Rob 2012-07-29 21:15:29
感謝輸入,它被調用,但是和以前一樣沒有任何操作。 – 2012-07-30 02:04:13
好的,如果我們知道'doneButtonPressed'是絕對被調用的,那麼關於bar按鈕的所有東西都是不相關的。事情是,你的'doneButtonPressed'沒有什麼奇怪的。我假設你已經開始在'initWithNibName'(假設你有一個)和'TableViewController'的'viewDidLoad'中放入日誌語句/斷點?而你說「什麼也沒有發生」,你沒有看到一張空白的桌子,而是從字面上看沒有任何事情發生,即你看到的屏幕和以前一樣?此時,如果您需要幫助,我們可能需要開始查看相關的「TableViewController」代碼。 – Rob 2012-07-30 02:25:13