【发布时间】:2014-06-15 16:21:11
【问题描述】:
我创建了一个自定义 UIButton,它有一个“已选择”字段来标识该按钮是否被选中。默认情况下:它将其图像设置为 image1。当它被选中时,它会变为 image2。
@interface MyButton: UIButton @property (getter=isSelected, setter=setSelected:) BOOL 选择; @结尾 @implementation 我的按钮 @synthesize selected = _selected; - (id)initWithFrame:(CGRect)frame { self = [super initWithFrame:frame]; 如果(自我){ 自我选择=否; } 回归自我; } -(void) setSelected:(BOOL) 选中 { 如果(选择) { [self setImage:[UIImage imageNamed:@"image1"] forState:UIControlStateNormal]; } 别的 { [self setImage:[UIImage imageNamed:@"image2"] forState:UIControlStateNormal]; } _selected = 选中; } -(BOOL) 被选中 { 返回 _selected; }现在,我从 UIViewController 将这个自定义按钮添加到它的视图中。当用户单击另一个按钮时,我希望我的自定义按钮应该更改其图像(从 image1 -> image2 反之亦然)。
@interface 会话视图控制器 (){ 我的按钮* btn; } @结尾 @implementation 视图控制器 -(无效)viewDidLoad { [超级视图DidLoad]; btn = [[MyButton alloc] initWithFrame: CGRectMake(0,0,100,100)]; } - (IBAction) touchChangeStateButton { 布尔 b = btn.isSelected; btn.selected = !b; } @结尾我的问题是为什么我的自定义按钮不改变它的形象???谢谢。
【问题讨论】:
标签: ios objective-c uibutton