swift中performSegue连线的使用storyboard加载多个控制器方法和demo下载

54 篇文章 1 订阅
47 篇文章 1 订阅


本文目的为了拆解一个storyboard中有多个控制器,跳转方法又都是用连线的方法
本来用segue连线的方法几年前就不用了.但是最近接了一个项目,里面还在用storyboard,一个storyboard里面有十多个控制器,而且全都是用连线跳转的控制器,想要重做一个控制器就要把里面的所有连线performSegue和里面的控制器都拆开.

在storyboard中创建连线

方法如下图:
在一个按钮上,或者其他能创建时间的上面按住ctrl键,然后拖拽鼠标左键,连线到另一个控制器
在这里插入图片描述

然后如下图,点击连线,给连线输入id:
在这里插入图片描述

使用连线

正常创建连线以后点击这个按钮就可以跳转到新的控制器
但是如果要在代码中使用,分下面两种情况:

连线本控制器跳转

	performSegue(withIdentifier: "VC1segue", sender: nil)

连线其他控制器跳转

下面的viewController是从其他页面传值过来的控制器对象.有了这个对象就可以在其他任何控制器中执行跳转到连线位置的vc1

viewController?.performSegue(withIdentifier: "VC1segue", sender: nil)

storyboard下面多个控制器加载方法

获取箭头指向的控制器

//获取stroyboard
let sb = UIStoryboard (name: "Main", bundle: nil)
//获取箭头指向的控制器
let vc = sb.instantiateInitialViewController()

一个storyboard多个控制器,获取其中一个

首先,需要给storyboard里面的控制器,添加Storyboard Id,这样通过代码才能找到指定的控制器,如下图:
在这里插入图片描述
代码调用

let sb = UIStoryboard (name: "Main", bundle: nil)
//一个storyboard里面有多个控制器时候,通过控制器上的Storyboard Id返回控制器
let vc = sb.instantiateViewController(withIdentifier: "VC1id")
navigationController?.pushViewController(vc, animated: true)

# demo下载地址

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
很抱歉,作为文本AI模型,我无法直接提供截图。但是,我可以为你提供一些文字指导来展示如何在Storyboard连接视图控制器并设置代理和数据源。 首先,打开你的Storyboard文件,并确保有一个视图控制器的场景。 1. 将一个NSCollectionView拖放到你的视图控制器的场景。 2. 在视图控制器的代码,添加一个IBOutlet来引用NSCollectionView。例如: ```swift @IBOutlet weak var collectionView: NSCollectionView! ``` 3. 在Storyboard,选视图控制器场景的NSCollectionView,然后按住Ctrl键并拖动到视图控制器。释放鼠标按钮时,选择"delegate"和"dataSource"选项。 4. 在你的视图控制器,实现NSCollectionViewDelegate和NSCollectionViewDataSource协议。例如: ```swift class ViewController: NSViewController, NSCollectionViewDelegate, NSCollectionViewDataSource { // ... } ``` 5. 在视图控制器的代码,为NSCollectionView设置代理和数据源。在视图控制器的`viewDidLoad`方法添加以下代码: ```swift override func viewDidLoad() { super.viewDidLoad() collectionView.delegate = self collectionView.dataSource = self // ... } ``` 6. 最后,在视图控制器实现NSCollectionViewDataSource协议的方法,例如`collectionView(_:numberOfItemsInSection:)`和`collectionView(_:itemForRepresentedObjectAt:)`。 通过这些步骤,在Storyboard连接视图控制器并设置代理和数据源后,你就可以在水平的NSCollectionView放置图片了。 希望这些文字指导能帮到你,如果有任何其他问题,请随时提问!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值