2012-07-10 225 views
0

我是故事板中的新手,在故事板中我在視圖控制器上有一個按鈕。點擊按鈕我試圖添加導航控制器視圖作爲子視圖,它正在增加,但是當我嘗試推動使用導航控制器的應用程序崩潰。請幫我解決這個問題。我上傳的源代碼,請從以下網址故事板 - 視圖控制器中的導航控制器

http://www.darrr.com/skyparts/test.zip

+1

我會建議在您的帖子中添加相關的代碼,而不是要求用戶下載您的源代碼。我懷疑很多人會願意從第三方網站打開zip文件,包括我自己在內。另外,我們可以使用更多關於您遇到的崩潰的信息。你的控制檯應該吐出一些信息,所以請把它粘貼到你的問題中。 – 2012-07-10 19:01:13

回答

1

故事板的巨大優勢是,很多工作可以在Interface Builder進行下載。因此,爲了使你的代碼工作,你應該做的未來:

  1. 打開你的故事板,並進行以下修改:
    1. 點擊「viewCtrl」按鈕右側的按鈕,並在彈出的菜單中刪除參考方法-(IBAction)bttnTapped:(id)sender。不要在按鈕觸摸上調用操作方法,而應該通過從「viewCtrl」按鈕拖動到導航控制器並選擇「Modal」類型的segue來添加segue。
    2. 選擇導航控制器並打開屬性檢查器。然後在「頂欄」欄中選擇導航欄。
    3. 在「Ctrl1」視圖中單擊「ctrl1」按鈕上的右鍵並在彈出菜單中刪除對方法-(IBAction)bttnTapped:(id)sender的引用。
    4. 將視圖控制器從對象庫添加到故事板。然後在身份檢查器的「類」字段中鍵入「ctrl2」。之後按住ctrl-從「ctrl1」按鈕拖動到「Ctrl2」控制器視圖,並選擇「Push」類型的segue。

在Interface Builder你的故事板視圖應該是這樣的: storyboard view

2.進入ViewController.h和.M和刪除方法- (IBAction)bttnTapped:(id)sender

3.轉到ctrl1.h和.m並刪除方法- (IBAction)bttnTapped:(id)sender

該代碼應該工作。但我建議把方法- (void)viewDidLoad- (void)viewDidUnload放到ctrl1.m後面。

如果您想在觸摸按鈕但在視圖加載之前運行某些代碼,則應覆蓋方法- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender

相關問題