gpt4 book ai didi

ios - 为什么使用 nibName 初始化 View Controller 不会将新实例设置为文件所有者?

转载 作者:行者123 更新时间:2023-11-29 02:11:32 24 4
gpt4 key购买 nike

我正在尝试根据条件在主/详细信息的详细信息 View 中显示一个 View 或另一个 View 。

这些 View 将包含 socket 和元素,因此我希望为每个我可以使用的 View Controller 。

因此,我创建了一个名为 AddPhotoViewController 的新 UIViewController。这就是我在 DetailViewController 中添加 AddPhotoViewController.xib 的方法:

let photoVC = AddPhotoViewController(nibName: "AddPhotoViewController", bundle: nil)
let photoView = photoVC.view

photoVC.delegate = self

photoView.autoresizingMask = UIViewAutoresizing.FlexibleWidth
photoView.frame = area.bounds
area.addSubview(photoView)

该 View 在详细 View 中正确加载,如下所示:

The XIB file loading properly in the detail view

AddPhotoViewController.xib 的所有者类也已在此处设置:

enter image description here

当我点击按钮时,尽管在 AddPhotoViewController 中正确设置了打印消息的操作,但 Xcode 崩溃了。

我这样做正确吗? 根据用户数据在 View Controller 内加载 View X 或 View Y 是否有更常见的做法?


按钮操作:

@IBAction func ButtonPressed(sender: AnyObject) {
println("worked!")
}

按钮连接:

enter image description here

控制台输出:

enter image description here

最佳答案

我认为你需要添加 viewController:

addChildViewController(PhotoVC)
//and then
PhotoVC.didMoveToParentViewController(self)

关于ios - 为什么使用 nibName 初始化 View Controller 不会将新实例设置为文件所有者?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29240803/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com