如何将 ViewController.swift 连接到 Storyboard 中的 ViewController?
Posted
技术标签:
【中文标题】如何将 ViewController.swift 连接到 Storyboard 中的 ViewController?【英文标题】:How to connect ViewController.swift to ViewController in Storyboard? 【发布时间】:2014-12-06 07:21:48 【问题描述】:我在 Storyboard 中创建了一个新的视图控制器,并创建了一个继承 UIViewController
的新 .Swift 文件。但是,我的viewDidLoad()
没有被调用。
我需要怎么做才能将我的故事板中的视图控制器连接到我的 .swift 代码以便调用 viewDidLoad()
?
我看到了:How to connect storyboard to viewcontroller
但是,在默认项目中,FirstViewController(storyboard) 在该框中没有 FirstViewController,它是空的,但仍会调用 viewDidLoad()
。这没有意义。
【问题讨论】:
提供的链接是正确的,您只需在 Class 字段中选择正确的 Swift 文件即可; 【参考方案1】:-
在情节提要或场景列表中选择您的 ViewController(我的称为
Circuit
)。
点击右侧的Identity Inspector
选择Custom Class > Class > Type name of your swift file
。
完成:)
【讨论】:
如果项目是Obj-C
& Swift
类的混合,并且有Obj-C
ViewController 类和Swift
ViewController 类怎么办?
值得注意的是,我的 xcode ui 除了显示的按钮外,还有所有 4 个按钮。太好了。【参考方案2】:
您的ViewControler
创建了一些对象(UILabel
、UIButton
、UIImage
...)
1 - 您需要将情节提要中的 ViewControler 链接到您的 ViewController.swift
,按照图片进行操作
2 - 在类字段中输入 ViewController 类的名称。这样,您只需将您的故事板视图控制器链接到您的 viewController.swift
类
类 =
ViewController.swift
3 - 现在您需要创建要分配的变量(UILabel、UIButton ... 您在情节提要中拥有的):在此示例中:
class MovieDetailViewController: UIViewController, DetailView
var presenter: MovieDetailPresenter!
var movie: Movie?
@IBOutlet weak var lblMovieYear: UILabel!
@IBOutlet weak var lblMovieTitle: UILabel!
@IBOutlet weak var movieImage: UIImageView!
@IBOutlet weak var lblMovieRating: UILabel!
@IBOutlet weak var lblMovieOverview: UILabel!
4 - 要将情节提要中的 UILabel 链接到您的 UILabel 变量或将情节提要中的 UIButton 链接到您的 UIButton var,请按照下一张图片进行操作
首先在storyboard中选择视图控制器
第二次选择右上角的parragraf图标并单击“助手”,它将打开您的ViewControler.swift
屏幕
现在只需要将变量拖到对应的对象上即可。
记住要对所有变量执行此操作,您需要为情节提要中的每个对象创建一个变量
【讨论】:
【参考方案3】:连接故事板和视图控制器
你应该设置ViewController in
Class`字段
【讨论】:
以上是关于如何将 ViewController.swift 连接到 Storyboard 中的 ViewController?的主要内容,如果未能解决你的问题,请参考以下文章
如何将值从 SceneDelegate 文件传输到 ViewController (Swift 5)
如何将变量从 ViewController 类传递给其他结构?
如何解决UIImageView连接到Swift4? [关闭]