【发布时间】:2016-03-19 22:45:00
【问题描述】:
我有一个启用分页的水平滚动视图,因此每个页面都会显示一个不同的 xib 视图。一些 xib 视图中有链接到 IBAction 的按钮。我在每个 xib 的类中声明了 IBAction。一切看起来都很好,按钮显示点击效果等等,但是 IBAction 没有被触发? 这是一个代码示例:
let clockView: ClockViewController = ClockViewController(nibName: "ClockViewController", bundle: nil)
let carView: CarViewController = CarViewController(nibName: "CarViewController", bundle: nil)
scrollview.addSubview(clockView.view)
carView.view.frame.origin.x = self.view.frame.width
scrollview.addSubview(carView.view)
clockView 和 carView 都有按钮,按钮分别链接到 ClockViewController.swift 和 CarViewController.swift 中声明的 IBActions。
这是其中一个视图的外观。我没有在 xib 中添加 UIViewController,我只使用 UIView。我猜这可能是问题的一部分,但我不能使用 UIViewController 作为子视图,因为它给出了错误。
【问题讨论】:
-
filesOwner是什么? -
fileOwner 是同一个 xib 类,我更新了问题以表明这一点,谢谢。
-
我认为你的问题是你将
CarView放在一个局部变量中,所以它会在 e 函数退出时被释放。尝试将其放入实例变量/属性中 -
哇,这正是问题所在!我在 viewDidLoad() 中声明了 carView 当我在类中声明它时问题解决了。非常感谢你 :) 你应该把它作为一个答案,这样我才能接受它。