iOS7不使用Storyboard

时间:2014-01-27 09:49:55

标签: ios uiviewcontroller segue pass-data

我有UITableView的应用(在PatientViewController中),每次点击不同的小区都应该向ArticleViewController发送不同的值。我使用此代码在ViewControllers之间进行了每次转换:

UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName:@"Main_iPhone" bundle:nil];
NewsViewController *mv = (NewsViewController*)[mainStoryboard instantiateViewControllerWithIdentifier:@"news"];
[self presentViewController:mv animated:YES completion:NULL];

我不想使用NavigationController,也不想使用Storyboard来创建segue。那么如何在不使用Storyboard的情况下只编写代码呢?谢谢。

3 个答案:

答案 0 :(得分:1)

您可以使用以下内容创建UIStoryBoardSegue:

  UIStoryboardSegue :: initWithIdentifier:source:destination:

然后,从源UIViewController,可以调用以下内容:

 performSegueWithIdentifier:sender:

有关详细信息,请参阅UIStoryBoardSegue文档的概述部分。

答案 1 :(得分:0)

试试这个:

 NewsViewController *nVC = [self.storyboard instantiateViewControllerWithIdentifier:@"news"];
[self presentViewController:nVC animated:YES completion:NULL];

答案 2 :(得分:0)

如果您不想通过Storyboard制作任何视图控制器,请使用XIB制作视图控制器。然后,调用以下方法来初始化实例。

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

选择单元格后,您可以使用以下方法显示要显示的视图控制器。

- (void)presentViewController:(UIViewController *)viewControllerToPresent animated: (BOOL)flag completion:(void (^)(void))completion