2017-06-17 45 views
3

我想通過點擊與NavigationController的iOS如何使用pushviewcontroller與NavigationController(目標 - 三)

所以按鈕來更改視圖我添加了一個按鈕,Main.storyboard和寫一些代碼像

@property (weak, nonatomic) IBOutlet UIButton *button; 

在我ViewController.m

我加入方法

- (IBAction)buttonClicked:(id)sender { 

SecondViewController *secondViewController = [[SecondViewController alloc] initWithNibName:@"SecondViewController" bundle:nil]; 
[self.navigationController pushViewController:secondViewController animated:YES]; 
(當我做我的項目自動創建)

}

(我做了SecondViewController.m,SecondViewController.h,SecondViewController.xib)

在此之後,我就開始應用,並點擊該按鈕後,屏幕並沒有改變。

其實,當我加入日誌像

NSLog(@"%@", self.navigationController); 

空印。

我想我需要將一些關於NavigationController的代碼添加到AppDelegate.m中,但我不知道該怎麼做。請幫幫我。

+0

您在故事板中是否嵌入了「導航控制器」?如果你沒有故事板,你如何顯示FirstViewController? – Satyam

回答

3

試試這個,

在Appdelegate.m

`- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { 
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; 
    // Override point for customization after application launch. 
    self.viewController = [[ViewController alloc] initWithNibName:@"ViewController" 
                bundle:nil]; 
    UINavigationController *navigation = [[UINavigationController alloc]initWithRootViewController:self.viewController]; 
    self.window.rootViewController = navigation; 
    [self.window makeKeyAndVisible]; 
    return YES; 
}` 

你需要通過代碼或情節板中嵌入導航控制器。

1

首先在故事板中選擇您的初始視圖控制器並將其嵌入到NavigationController中。 enter image description here

然後給第二個視圖控制器一個故事板標識符。

然後最後從storyboard實例化第二個ViewController並推送它。

- (IBAction)buttonClicked:(id)sender { 
SecondViewController *secondViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"SecondViewController"]; 
[self.navigationController pushViewController:entryController animated:YES]; 
} 
相關問題