我正在子类化UIButton
以创建一个简单的复选框行为。下面是代码:
#import "RadioButton.h"
@implementation RadioButton
@synthesize isSelected;
-(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event{
[self ChangeButtonState];
}
-(void)ChangeButtonState{
if (!isSelected) {
isSelected = YES;
[self setBackgroundImage:[UIImage imageNamed:@"radiobtn_on.png"] forState:UIControlStateNormal];
}
else{
isSelected = NO;
[self setBackgroundImage:[UIImage imageNamed:@"radiobtn_off.png"] forState:UIControlStateNormal];
}
}
-(id)init{
self.adjustsImageWhenHighlighted=YES;
self.alpha = 1;
[self ChangeButtonState];
isSelected = NO;
[self setBackgroundImage:[UIImage imageNamed:@"radiobtn_off.png"] forState:UIControlStateNormal];
return self;
}
- (id)initWithFrame:(CGRect)frame
{
[self setBackgroundImage:[UIImage imageNamed:@"radiobtn_off.png"] forState:UIControlStateNormal];
isSelected = NO;
self = [super initWithFrame:frame];
if (self) {
// Initialization code
}
return self;
}
/*
// Only override drawRect: if you perform custom drawing.
// An empty implementation adversely affects performance during animation.
- (void)drawRect:(CGRect)rect
{
// Drawing code
}
*/
@end
首先,当我在界面构建器中将类设置为一个按钮时,当我启动应用程序时,我没有看到任何东西,直到我按下这个不可见的按钮。
第二件事是图像看起来比原来的
暗如果能帮忙就太好了!谢谢!
试试你的东西- (void)awakeFromNib。在子类中定义此方法。当你在xib中分配你的自定义类时,这个方法将被调用,并在那里应用你的逻辑。