Xcode 6 – 将segue推送到同一个视图控制器
我有一个表视图控制器,并且单击一个单元格可以根据单元格中的数据类型触发许多不同类型的推送段之一。 在tableView:didSelectRowAtIndexPath中确定正确segue的标识符,然后使用self.performSegueWithIdentifier触发segue:
对于其中一个segues,我想将同一个视图控制器的另一个实例推送到导航堆栈。 这是否可以在不必将相同类型的新视图控制器对象拖到故事板上? 到目前为止,如果我从表格单元格Ctrl +拖动到视图控制器,我只能将segue连接到同一个视图控制器。 这不是我想要的。
正如所建议的那样,我认为segue不会起作用。 相反,您可以以编程方式推送同一视图控制器的新实例,这与执行segue具有相同的效果。 不同之处在于不会调用像prepareForSegue这样的segue委托方法。
- (void) tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { MyViewController *vc = [[MyViewController alloc] init]; [self.navigationController pushViewController:vc animated:YES]; }
完成上面的答案你可以在Swift 3中使用:
let vc = ViewController() self.navigationController?.show(vc, sender: nil)
如果您使用的是故事板,可以使用:
let vc = self.storyboard?.instantiateViewController(withIdentifier: "ViewControllerID") as! YourViewController self.navigationController?.show(vc, sender: nil)
- ios 6 uiwebview显示使用jQuery的滚动页面滚动页面的背景
- 如何在iOS社交框架中使用SLRequest获取Facebook的电子邮件参数
- Swfit 2“额外的参数”错误“在调用”
- swift – 当asynchronous使用renderInContext时,UILabel文本不是渲染器
- 在iOS中为本地应用内容创build一个画廊
- 当用户触摸屏幕时,uiimageviewanimation停止
- iPhone 6和iPhone 6 Plus的UIImageView高度缩放显示模式
- 看看UIView动画曲线(第1部分)
- 如何为iPhone 6/6 Plus Landscape Only Apps创build启动图像?