(我不是说不是,我问这个更多是为了确保我正确地实现了面向对象的原则。)
假设我想创建一个 UIView
,里面有一个 UIImageView
和一个 UIImageView
标题下面的 UILabel
在 iOS 应用程序中,如果我想在我的应用程序的多个部分中重用此 UIView
设置,最好的方法是什么?
我读过的很多教程似乎都指出了 UIView
的子类,并且在其中一个 init
方法中创建了 subview ,然后将它们添加到 self
,瞧,只需创建此 UIView
子类的新实例,您就拥有了一个可重用
实现。
但是这个“带标题的图像”概念作为 UIView 的子类有意义吗?我理解子类化和继承就像您有一个名为 Vehicle
的父类(super class),然后您创建了一个名为 Truck
的子类。如果你看一下,“Truck”是一个“Vehicle”,这就是我对继承的理解。
是
"image with caption" is a "view"
在继承中有概念上的意义吗?我知道很多人会说“当然是!”但我只是看着它,认为它不完全是父类(super class)的派生或定制,而是其他一些类的合并。
如果我正在创建类似的东西,我几乎在想我想要一个可重用的自定义 UIView 实例,而不是 UIView 的子类 但也许我'应用太尖锐的子类定义。
如果我只想要一堆红色的 UIButtons
以及我可以重复使用的标签的特殊字体怎么办?这真的是子类化的用途吗?
子类化是最好的选择吗?或者也许从 nib 创建它并用代码导入它会更好?
最佳答案
子类化它是一个完美的选择。你需要记住 UILabel 和 UIImageView 实际上是 UIView 的子类。事实上,UIKit 中的所有内容都是从 UIView 派生出来的。子类化的全部意义在于自定义您的对象。这绝对是解决此问题的好方法。
关于ios - 从概念上讲,子类化 UIView 是否正确?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21713623/