我现在被困在这2天了,搜索了近27个差异堆栈溢出的答案但却无法做到这一点 我想手动将我的视图推送到不同的视图,我用标识符gameView创建了一个Segue,并尝试使用prepareForSegueWithIdentifier方法,但它不起作用,总是说我的viewController找不到标识符为“gameView”的segue,即使它存在。
以下是一些可以更好理解的屏幕截图:
早些时候,我使用的是相同的代码,这是在prepareForSegue中(没有使用手动推送所以没有prepareWithIdentifier),因为之前我正在从单元格选择中推送视图并且它正在工作,但现在我需要手动推送视图,因为实现异步任务等。
对此有任何帮助将不胜感激。
答案 0 :(得分:1)
在看到你的项目之后,我看到你正在使用segue,并弄乱了它使程序混淆,我删除它并使用UITableView的委托方法选择系统
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
然后处理一些数据,当它完成时,我使用方法
呈现正确的ViewControllerpresentViewController:(UIViewController *)viewController animate:(BOOL)animate completion:^{block}
答案 1 :(得分:0)
ViewControllerYouWantToChangeTo *vc = [self.storyboard instantiateViewControllerWithIdentifier:@"ID"];
[self presentViewController:vc animated:YES completion:nil];
ID指的是故事板或要更改为的
而不是使用
[self dismissViewControllerAnimated:YES completion:nil];//<-- this could cause a warning
使用:
[[[self parentViewController] parentViewController] dismissViewControllerAnimated:YES completion:nil];