使用IBAction显示另一个视图 - XIB和Storyboard

时间:2011-11-09 14:10:54

标签: cocoa-touch xib storyboard

我正在成功使用Storyboard。一个屏幕不是“空”,它有一个类NotifierViewController。

此类具有.h,.m和XIB文件。该应用运行得非常好。

现在我需要XIB文件中的一个按钮将此视图链接回我的故事板。现在,我必须停止并重新启动应用程序以查看主视图。

所以在IB中我在.h和.m文件中创建了一个UIButton和一个IBAction。但我的行动代码没有运行。我只得到一个黑屏。

我的Storyboard中的“初始视图控制器”视图具有Class ViewController(仅限.h和.m文件)

有什么问题?

#import "NotifierViewController.h"
#import "ViewController.h"

- (IBAction)home:(id)sender {
    NSLog(@"Button was tapped");
    // init & alloc - Replace with your custom view controllers initialization method (if applicabale)
    ViewController *viewController = [[ViewController alloc] init];
    [viewController setModalTransitionStyle:UIModalTransitionStyleFlipHorizontal];
    [self presentViewController:viewController animated:YES completion:NULL];
    [ViewController release];
}

2 个答案:

答案 0 :(得分:1)

您不应重新初始化并代表主要的“根”视图。如果你提出这个NotifierViewController以模态方式呈现,你可以解雇它:

- (IBAction)home:(id)sender {
    [self dismissModalViewControllerAnimated:Yes];
}

如果NotifierViewController没有以模态方式呈现,请告诉我如何编辑我的答案。

答案 1 :(得分:0)

- (IBAction)home:(id)sender 
{

    UIStoryboard* storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
    UIViewController* initialHelpView = [storyboard instantiateInitialViewController];

    initialHelpView.modalPresentationStyle = UIModalPresentationFormSheet;
    [self presentModalViewController:initialHelpView animated:YES];
}