ios - 初始化自定义类 UIVIew

标签 ios swift uiview

尝试使用 xib 文件初始化我的自定义类 UIVIew 但在尝试初始化属性时崩溃:

import Foundation
import UIKit

class ReportView: UIView {

@IBOutlet weak var textView: UITextView!

override init (frame : CGRect) {
    super.init(frame : frame)

}

convenience init () {
    self.init(frame:CGRectZero)
}

required init(coder aDecoder: NSCoder) {
    super.init(coder: aDecoder)
    addBehavior()
}

func addBehavior (){
    textView.layer.borderWidth = 1.0
    textView.layer.borderColor = UIColor(red: 170/255, green: 170/255, blue: 170/255, alpha: 0.5).CGColor
    textView.layer.opacity = 0.9
    textView.layer.cornerRadius = 3
    textView.clipsToBounds = true
}
}

在 textview 上崩溃: fatal error :在展开可选值时意外发现 nil

最佳答案

根据您的 xib 的外观,有两个可能的问题:

  1. 要么你的 socket 没有连接到 xib。

  2. 或者 outlet 在初始化期间不可用,所以你无法访问 textView,它仍然是 nil。正确的方法是覆盖 awakeFromNib 方法并将 addBehavior 放在那里。

关于ios - 初始化自定义类 UIVIew,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32320160/

相关文章:

ios - 了解启动 iOS 应用程序的可能性

ios - 为什么我的 UITableViewCells 不显示信息?

ios - imageView 设置为 UIViewContentModeScaleAspectFill 的 UIButton 不会完全填充小图像

php - JSON 解析 : from PHP5 ( which attacks a database: mySQL ) ios5 iphone

ios - CLLocationManager - kCLErrorDomain

ios - 在 Swift SpriteKit 项目中播放声音?

swift - 如何正确检查非可选返回值是否有效?

objective-c - iPhone/iPad 同时平移、捏合和旋转 View

ios - 可以将委托(delegate)变量分配给调用对象吗?

iOS AES 实现错误?