gpt4 book ai didi

ios - 将变量传递给为滑动加载的新 Nib

转载 作者:行者123 更新时间:2023-11-28 06:50:03 24 4
gpt4 key购买 nike

我在 View Controller 上有一个 UItable,从那个 ViewController 到另一个 View Controller ,它被设置为一种主视图 Controller ,可以在滑动 Action 中显示三个 Nib 。

视频

我按照这个视频创建了滑动 View :https://www.youtube.com/watch?v=3jAlg5BnYUU

有点像这样:

enter image description here

我可以让数据在两个 View Controller 之间传递,但我无法让它显示在任何 nib 上。

如何让幻灯片跨过 nib 以显示在主视图(包含 nib 的 View ) Controller 中定义的变量?

ViewController2.Swift

    let vc0 = vc0(nibName: "vc0", bundle: nil)
let vc1 = vc1(nibName: "vc1", bundle: nil)
let vc2 = vc2(nibName: "vc2", bundle: nil)

// The above are the names of 3 other ViewControllers that were created with Nib Files. This code below, puts those nibs in a slide view.

self.addChildViewController(vc0)
self.scrollView.addSubview(vc0.view)
vc0.didMoveToParentViewController(self)

var frame1 = vc1.view.frame
frame1.origin.x = self.view.frame.size.width
vc1.view.frame = frame1
self.addChildViewController(vc1)
self.scrollView.addSubview(vc1.view)
vc1.didMoveToParentViewController(self)

var frame2 = vc2.view.frame
frame2.origin.x = self.view.frame.size.width * 2
vc2.view.frame = frame2
self.addChildViewController(vc2)
self.scrollView.addSubview(vc2.view)
vc2.didMoveToParentViewController(self)



self.scrollView.contentSize = CGSizeMake(self.view.frame.size.width * 3, self.view.frame.size.height - 66)

从第一个 View Controller 到持有 Nib 的 View Controller ,我在 prepareForSegue 中传递变量。

如果您需要了解其他任何信息,只需询问 :)

编辑1

第一个 View Controller 称为 viewcontroller,第二个(包含 nib 和上面的代码的 View Controller )称为 viewcontroller2:

ViewController1.Swift

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if "viewcontroller2Segue" == segue.identifier {

let vc = segue.destinationViewController as! viewcontroller2;
vc.passedID = clickedCell


}
}

在 viewcontroller2 上,我有一个被分配数据的变量:

var passedID = ""

最佳答案

这一行 let vc2 = vc2(nibName: "vc2", bundle: nil) 实例化了 vc2 的一个新实例,因此没有设置它的任何属性。从图中可以看出,您有一个容器 View Controller ,它具有类型为 vc0、vc1、vc2 的 subview Controller 。我不清楚 segue.destinationViewController 是什么类,也许是 vc2,但是无论哪种方式,您都需要将 segue.destinationViewController 之间的数据传递给您实例化的 vc0、vc1 和 vc2。例如:

let vc0 = vc0(nibName: "vc0", bundle: nil)
let vc1 = vc1(nibName: "vc1", bundle: nil)
let vc2 = vc2(nibName: "vc2", bundle: nil)

vc0.neededID = self.passedID //if vc0 needs passedID
vc1.neededID = self.passedID //if vc1 needs passedID
vc2.neededID = self.passedID //if vc2 needs passedID

关于ios - 将变量传递给为滑动加载的新 Nib ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35180752/

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