-1

该应用程序应根据数据库中的某些数据转发到另一个视图控制器。数据库工作正常,但我无法让应用程序转发到第二个视图控制器。这是我的代码。

ssSecondViewController *tempView =[[ssSecondViewController alloc] init];
[self.navigationController pushViewController:tempView animated:YES];

我没有收到任何错误,但是当我运行代码时屏幕转发到一个空白的黑色视图?

4

3 回答 3

3

如果您已经在情节提要上拥有 viewController,那么您可以通过如下代码分配它,并且您必须在情节提要上将标识符设置为 viewControler

ssSecondViewController *tempView =[self.storyboard instantiateViewControllerWithIdentifier:@"yourIdentifier"];

在这里设置你的viewController id,在下面的图像标识符是“MenuViewController”

在此处输入图像描述

如果它在 .Xib 文件上,那么

ssSecondViewController *tempView =[[ssSecondViewController alloc] initWithNibName:@"yourIdentifier" bundle:nil];

如果您只想以编程方式添加新的 viewController 而不使用已经可用的 viewController ,那么您必须使用它来初始化它,initWithFrame然后它会显示 viewController

ssSecondViewController *tempView =[[ssSecondViewController alloc] initWithFrame:CGRectMake(0,0,320,480)];

ssSecondViewController *tempView =[[ssSecondViewController alloc] init];这条线只是分配 viewController,它没有任何位置来绘制它。

于 2013-02-10T03:41:57.713 回答
0

你需要使用

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

因此,对于您的示例,它将是:

ssSecondViewController *tempView =[[ssSecondViewController alloc] initWithNibName:@"ssSecondViewController" bundle:nil];
于 2013-02-10T01:13:22.203 回答
0

对于故事板,您通常不会实际执行推送,您可以使用segueIdentifiers故事板中的设置进行 segue:

[self performSegueWithIdentifier:@"ssSecondSegue" sender:self];

然后处理您的数据传递和其他设置器prepareForSegue

于 2013-02-10T01:17:17.207 回答