【问题标题】:Xib file with Custom View [closed]带有自定义视图的 Xib 文件 [关闭]
【发布时间】:2019-07-21 18:32:02
【问题描述】:

我有一个 .xib 文件,它的所有者是 UIViewController。如图所示。

.xib 文件中的视图是自定义 UIView 的一部分。所以我的问题是当我尝试向按钮添加角半径时,我的 IBOutlets 向我抛出了 nil 值。 (是的,我的 IBOutlets 已连接)

class MenuView: UIView {

// MARK: - Outlets
@IBOutlet weak var chatButton: UIButton!
@IBOutlet weak var loginButton: UIButton!
@IBOutlet weak var animationButton: UIButton!

required init?(coder aDecoder: NSCoder) {
    super.init(coder: aDecoder)

    insertSubview(backgroundImage, at: 0)
    backgroundImage.topAnchor.constraint(equalTo: topAnchor).isActive           = true
    backgroundImage.leadingAnchor.constraint(equalTo: leadingAnchor).isActive   = true
    backgroundImage.trailingAnchor.constraint(equalTo: trailingAnchor).isActive = true
    backgroundImage.bottomAnchor.constraint(equalTo: bottomAnchor).isActive     = true

    chatButton.layer.cornerRadius = 8
    loginButton.layer.cornerRadius = 8
    animationButton.layer.cornerRadius = 8
}

// MARK: - BackgroundImage
private var backgroundImage: UIImageView  = {
    let imageView = UIImageView(image: UIImage(named: "bg_home_menu"))
    imageView.translatesAutoresizingMaskIntoConstraints = false
    return imageView
}()
}

所以我的问题是,为什么我的网点的值为零?我能做些什么来解决它?

我正在尝试使用界面构建器和编程界面的这种方法。

【问题讨论】:

    标签: ios swift xcode user-interface xib


    【解决方案1】:

    为了使 IBOutlers 工作,我必须将设置角半径的代码移动到 awakeFromNib 函数。

    init(coder) 它正在初始化视图并且还没有对插座的引用。在 awakeFromNib 中,初始化完成后调用,出口不应为 nil。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-04
      • 1970-01-01
      • 1970-01-01
      • 2013-10-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多