【发布时间】:2012-07-09 16:48:35
【问题描述】:
我有一个包含 UIButton 作为子视图的类。我有一个我制作的 UIButton 子类,它有我自己的修改,我想用它来代替 UIButton,但我不想只是删除原始 UIButton 并添加这个代替,因为这样它就不会响应该类给它的 UIButton 命令。
如何在这里使用我的 UIButton 子类?
希望这是有道理的。
编辑:所以我有一个 UIView 的子类。它被称为 MyView。 MyView 有一个 UIButton 的子视图。我还有一个 UIButton 的子类,称为 MyButton。我想在 MyView 上使用 MyButton 而不是 UIButton。我该怎么做?
【问题讨论】:
-
你是说你创建了一个新类,比如: MyButton : UIButton ???如果是这样,你想使用 MyButton 而不是 UIButton ???如果是这种情况,那么您只需分配并初始化您的 MyButton 而不是 UIButton ???
-
@Andrew 如果它在 IB 中,您可以将任何东西的类设置为子类,因此找到可以将按钮类设置为 MyButton 的面板
-
@Andrew 然后就像 ElGuapo 说的那样说 [[MyButton alloc] init];而不是 [[UIButton alloc] init]
-
«因为这样它就不会响应类给它的 UIButton 命令。»是的,它会。您不覆盖的任何内容都将使用超类 (
UIButton) 的实现。 -
@Andrew,我相信您的问题不仅仅是扩展 UIButton 的功能,您似乎并不真正了解 OOP 方面的继承和多态性的概念。我还建议您阅读一下。
标签: iphone objective-c ios class uibutton