Swift报错:fatal error: use of unimplemented initializer 'init(frame:)' for class

OC与Swift混编时,创建一个swift类继承自OC类,由于这个OC类已自定义构造函数,所以在这个swift类中重写父类的init构造函数初始化子控件,但是在运行时报错:
fatal error: use of unimplemented initializer 'init(frame:)' for class 'Arrietty.XYCustomAnnotationView'

解决方法:在这个swift类中重新 init(frame: CGRect),并实现super方法即可

// MARK: - Life Cycle
    override init!(annotation: MAAnnotation!, reuseIdentifier: String!) {
        super.init(annotation: annotation, reuseIdentifier: reuseIdentifier)
        self.bounds = CGRect(x: 0.0, y: 0.0, width: kWidth, height: kHeight)
        self.backgroundColor = UIColor.clear
        
    
        self.addSubview(backgroundImageView)
        self.backgroundImageView.frame = CGRect(x: kHoriMargin, y: kVertMargin, width: kPortraitWidth, height: kPortraitWidth)
        /* 创建iconView展示用户头像 */
        self.backgroundImageView.addSubview(iconView)
        iconView.frame = CGRect(x: kHoriMargin, y: kVertMargin, width: kPortraitWidth, height: kPortraitWidth)
    }
    
    required init?(coder aDecoder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }
    

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • SwiftDay011.MySwiftimport UIKitprintln("Hello Swift!")var...
    smile丽语阅读 9,290评论 0 6
  • 最近瞄上了Swift,随着3.0版本的发布,1.x,2.x的部分API发生了一些算是较大的变化,语法越来越简便,实...
    earthX阅读 5,514评论 1 19
  • 这是16年5月份编辑的一份比较杂乱适合自己观看的学习记录文档,今天18年5月份再次想写文章,发现简书还为我保存起的...
    Jenaral阅读 8,008评论 2 9
  • 原文链接 初始化(Initialization) Initialization是为了使用一个类、结构体或者枚举实例...
    ReturnNil阅读 3,529评论 0 1
  • 树林边上有一个池塘,池塘里有一条米诺鱼和一只蝌蚪。他们常在水草丛中游来游去,是一对形影不离的好朋友。 一天早晨,蝌...
    叠叠不休阅读 1,760评论 0 6

友情链接更多精彩内容