【发布时间】:2015-12-20 03:57:54
【问题描述】:
我正在尝试在用户按下按钮时使用 loadnibnamed 加载名为“AddProgramView”的 xib 文件。我在情节提要中创建了 xib,在 xib 视图中放置了各种子视图,并将插座连接到名为 AddProgramView 的相应 swift 文件。当我加载 xib 时,没有任何子视图出现。他们都不见了。帮助?这是我的代码
在我的主视图控制器中:
@IBAction func addProgram(sender: UIButton) {
if let _ = addProgramView {
addProgramView!.frame = CGRectMake(0, self.window!.frame.origin.y + self.window!.frame.height, self.window!.frame.width, CGFloat(325))
}
else {
let addProgramViews = NSBundle.mainBundle().loadNibNamed("AddProgramView", owner: self, options: nil)
addProgramView = addProgramViews.first as? AddProgramView
addProgramView!.frame = CGRectMake(0, self.window!.frame.origin.y + self.window!.frame.height, self.window!.frame.width, CGFloat(325))
window?.addSubview(addProgramView!)
}
window?.bringSubviewToFront(addProgramView!)
UIView.animateWithDuration(0.3, delay: 0.0, options: UIViewAnimationOptions.CurveEaseOut, animations: {
self.addProgramView!.frame.origin.y -= CGFloat(325)
}, completion: nil)
}
AddProgramView.swift 文件:
class AddProgramView: UIView {
@IBOutlet weak var nameField: UITextField!
@IBOutlet weak var cancelButton: UIButton!
@IBOutlet weak var instructionsLabel: UILabel!
}
【问题讨论】:
-
您能否包含一些有关您声明的
window的代码? -
这只是应用程序委托窗口。自定义视图出现在该窗口中,但没有子视图