UIView 的子类没有视图属性

Posted

技术标签:

【中文标题】UIView 的子类没有视图属性【英文标题】:Subclass of a UIView doesn't have a view property 【发布时间】:2014-08-30 19:01:54 【问题描述】:

我对@9​​87654321@ 进行了子类化,它恰好是UIView 的子类(显然)。我正在尝试向其添加图像(通过UIImageView),但找不到view 属性。所以当我输入这段代码时:

// Called in the init() method
view.addSubView(imageView)

Xcode 给出以下错误:

Use of unresolved identifier 'view'

这是怎么回事?甚至当我输入这段代码时:

self.view.addSubView(imageView)

报错'<Classname>' does not have a member named 'view'

【问题讨论】:

【参考方案1】:

它是一个 UIView,因此你想做 self.addSubview(sv) , addSubview 是 UIView 的一个方法... UIViews 没有视图属性, UIViewControllers 有。这是 UIView 文档的reference

【讨论】:

【参考方案2】:

既然self 本身引用了UIView(因为UIScrollView 是从它继承而来的),为什么要拥有一个名为view 的单独属性?

使用类似的东西 self.addSubView(myImageView)

【讨论】:

以上是关于UIView 的子类没有视图属性的主要内容,如果未能解决你的问题,请参考以下文章

Objective C - 从视图控制器设置 UIView 子类的标签属性

子类/扩展 UIView 以便所有其他视图(UIImageView、UITextField ...)在创建时继承

以编程方式使用自动布局实现带有子视图的 uiview 子类

UIView 子类不能从黑色背景更改

UIView - 调整大小以适应内容

在视图控制器中访问 UIView 子类