我将UIButton子类化,我想要的是将按钮类型设置为Round Rect.
Button.h
@interface Button : UIButton {} - (void)initialize; @end
Button.m
@implementation Button - (id)initWithFrame:(CGRect)frame { self = [super initWithFrame:frame]; if (self) { [self initialize]; } return self; } -(id)initWithCoder:(NSCoder *)aDecoder { self = [super initWithCoder:aDecoder]; if(self){ [self initialize]; } return self; } - (void)initialize { self.titleLabel.font = [UIFont systemFontOfSize:20]; self.titleLabel.textColor = [UIColor redColor]; self.titleLabel.textAlignment = UITextAlignmentCenter; //[UIButton buttonWithType:UIButtonTypeRoundedRect]; } @end
在这里我尝试[UIButton buttonWithType:UIButtonTypeRoundedRect],但它不工作.任何人都可以建议如何使其发挥作用?
我知道在许多以前的帖子中已经说过,SubBlassing UIButton是不推荐的,但事实上,在开发人员的文档中没有提到没有子类化它.
解决方法
您可能会发现CocoaBuilder的线程
How to subclass UIButton?的讨论有帮助,特别是
Jack Nutting’s suggestion to ignore the buttonType:
Note that this way the buttonType isn’t explicitly set to anything,which probably means that it’s UIButtonTypeCustom. The Docs don’t seem to actually specify that,but since that’s the 0 value in the enum,that’s likely what happens (and that seems to be the observable behavior as well)