2013-03-14 59 views
0

如果我将子类UIButton并使用它的buttonWithType:方法创建button,它会返回一个UIButton或子类实例吗?UIButton子类:是否buttonWithType:返回UIButton或子类实例?

例如:

@interface MyButton : UIButton 
@end 

MyButton *button = [MyButton buttonWithType:UIButtonTypeCustom]; 

或者我必须使用allocinitWithFrame呢?

感谢

+0

它应该像对UIButton一样进行正常的初始化,你只需要继承UIButton类,这意味着你的类实现了父类的所有行为,你也可以添加额外的功能,并且可以像使用方式一样使用你为简单的UIButton做,但你必须定义类的按钮,而不是UIButton * myButton;你必须编写MyButton * myButton;而已。 – iphonic 2013-03-14 08:07:20

回答

0

buttonWithTypeUIButton一个class method,它返回UIButton类型,虽然你MyButton继承UIButton,它也不能返回MyButton

更多信息,你可以看到在我的答案是:this

1

对不起,我刚刚发现这个苹果的doc:

这种方法是创建具有特定配置按钮对象便捷构造。它是你的子类UIButton,这个方法不会返回你的子类的一个实例。如果要创建特定子类的实例,则必须直接分配/初始化按钮。

+0

你也可以直接NSLog返回的对象。默认描述字符串打印对象类名称(实际类)。有助于快速回答“这是什么类型的东西?”在调试/测试模式下。 – 2013-03-14 06:29:56