在没有按钮连接的情况下以编程方式执行 Segue?
Posted
技术标签:
【中文标题】在没有按钮连接的情况下以编程方式执行 Segue?【英文标题】:Perform Segue Programmatically Without Button Connection? 【发布时间】:2012-07-24 03:17:03 【问题描述】:我的故事板中有两个视图控制器,我需要从视图 1 推送到视图 2。
我需要在不直接从故事板中的按钮连接 segue 的情况下执行此操作,我需要以编程方式进行。
我该怎么办?
谢谢。
【问题讨论】:
【参考方案1】:当你点击按钮调用时:
[self performSegueWithIdentifier:@"SegueIdentifier" sender:self];
您需要在情节提要中创建转场,但您可以从视图控制器到视图控制器,而不是从按钮到视图控制器。
【讨论】:
这让导航变得很奇怪。它没有动画,目标视图也需要很长时间来布局。有什么想法吗? 这和使用导航栈有什么区别? @Subby 你必须使用导航控制器移动到下一个视图 Segue 或导航堆栈。但是使用 Segue 控制器会在您的故事板中添加可视化布线,您可以直观地看到每个屏幕源和目标。当您的应用中有 30 到 40 个屏幕时,这非常有用【参考方案2】:如果你想在没有点击的情况下执行一个动作(或者在加载 viewController 本身时),请在任一中执行此代码
- (void)viewDidLoad
[super viewDidLoad];
[self performSegueWithIdentifier:@"NameOfYourSequeIdentifier" sender:self];
或
-(void)viewDidAppear:(BOOL)animated
[self performSegueWithIdentifier:@"NameOfYourSequeIdentifier" sender:self];
【讨论】:
【参考方案3】:完全没有转场
[self.navigationController pushViewController:[self.storyboard instantiateViewControllerWithIdentifier:@"YourViewControllerIDinStoryBoard"] animated:YES];
【讨论】:
以上是关于在没有按钮连接的情况下以编程方式执行 Segue?的主要内容,如果未能解决你的问题,请参考以下文章
在swift3中按下按钮时如何以编程方式执行segue或呈现视图
如何在不使用 Facebook 登录/注销按钮的情况下以编程方式从 Facebook SDK 3.0 注销?