2012-07-23 31 views
1

此問題可能已得到解答,如果是的話,請分享鏈接。添加和導航到單個應用程序中的新視圖

我已經創建了一個單一視圖應用程序,它工作正常,但現在我添加了一個新視圖並點擊按鈕,希望顯示新視圖。

這是點擊動作的代碼,

SettingsViewController *settingsViewController = [[SettingsViewController alloc] initWithNibName:@"SettingsViewController" bundle:[NSBundle mainBundle]]; 

    [self.navigationController pushViewController:settingsViewController animated:YES]; 

默認視圖控制器現在看起來像這樣在.h文件中

@interface ViewController : UIViewController<UIImagePickerControllerDelegate, UINavigationControllerDelegate> 

的SettingsViewController.m有一個默認

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil{} 

我可以添加另一個視圖到「Single View Application」嗎?或者我應該選擇另一個模板f或我的項目?

謝謝。

+0

你是用故事板或Interface Builder來建立你的看法還是你做這一切編程? – 2012-07-23 02:34:03

+0

我創建了一個沒有故事板的新項目,並使用Interface Builder來設計視圖。 – MTahir 2012-07-23 02:39:05

+0

我建議你先從一個空的應用程序開始,然後從那裏開始。 – 2012-07-23 15:56:19

回答

1

您需要在您的AppDelegate中創建UINavigationController。然後製作UINavigationControllerViewControllerrootViewController。然後,您將能夠推送和彈出視圖。

下面是創建rootViewController其中mainNavigationController是在UINavigationController代碼你AppDelegate

ViewController *vc = [[ViewController alloc] init]; 
mainNavigationController = [[UINavigationController alloc] initWithRootViewController:vc]; 

一旦你的ViewController設置爲rootViewController將符合UINavigationController push和pop方法來創建一堆UIViewController s。

1

這很好。單視圖應用程序模板只是一個準系統模板。你可以添加任何你喜歡的導航類型。

+0

對於上面的代碼,你是否看到任何錯誤,因爲當單擊對接時我無法將它切換到settingView。 – MTahir 2012-07-23 02:54:46

0

在iOS 5中,視圖之間切換的工作方式有些不同,我認爲,

我已經創建了上述代碼的一些應用程序的切換視圖。

但現在,我必須把它寫這樣的工作:

SettingsViewController *settingsViewController = [[SettingsViewController alloc] initWithNibName:@"SettingsViewController" bundle:[NSBundle mainBundle]]; 
    [self presentModalViewController:settingsViewController animated:YES]; 
+1

答案中的代碼顯示了一個ModalViewController。問題中的代碼將ViewController推入NavigationController Stack。如果它們設置正確,兩者都可以工作。 – 2012-07-23 15:17:38

+0

然後我可能在我的代碼中做錯了,我會再試一次。 – MTahir 2012-07-23 22:07:53

+0

是的,你是對的,現在它的工作方式和這[exmaple /教程](http://www.techotopia.com/index.php/Creating_a_Navigation_based_iOS_5_iPhone_Application_using_TableViews)幫助我解決思考 – MTahir 2012-07-24 00:01:20

相關問題