【发布时间】:2012-02-24 21:13:51
【问题描述】:
好的,这可能是不可能的,但我有一个类(称为CompositeView),它是UIView 的子类。它使用一些核心图形工作来根据一些选项生成自定义背景。不是一个庞大的班级,但随着我的需求变化/增加/无论如何,一定会增长。我遇到的问题是我在很多不同的地方经常使用这个类。但在某些地方,我需要它成为UIScrollView 的子类,而不是UIView。有趣的是,我可以简单地更改超类,并且一切正常。但我不仅不希望我的所有其他视图都成为UIScrollView,它还会干扰其中一些视图的操作。所以我需要一个类,它有时是UIScrollView 的子类,有时是UIView 的子类。
目前,我已经完全复制了CompositeView 的所有接口/实现,将类名更改为CompositeScrollView,并将其继承更改为UIScrollView。它工作正常,但现在我有两组代码做完全相同的事情,只是从不同的父类继承。这让他们都保持最新状态很痛苦。
有没有更好的方法来做到这一点?
【问题讨论】:
-
为什么需要它成为 UIScrollView 或 UIView 的子类(当 UISCrollView 已经是 UIView 的子类时)?需要更多关于您要完成的工作的详细信息。
标签: objective-c subclass