
工作中有一个点击button更新button上文案的需求,用自定义了button可以很简单的实现的这个需求
首先写个自定义的button
CustomButton.h
#import <UIKit/UIKit.h>
typedef NS_ENUM(NSUInteger, CustomButtonStatus){
CustomButtonStatusNormal = 0,
CustomButtonStatusReverse = 1
};
@interface CustomButton : UIButton
@PRoperty(nonatomic) CustomButtonStatus buttonStatus;
@end
CustomButton.m
#import "CustomButton.h"
@implementation CustomButton
- (void)setButtonStatus:(CustomButtonStatus)buttonStatus{
NSString *title;
if (CustomButtonStatusNormal == buttonStatus) {
title = @"啊啊啊";
} else if(CustomButtonStatusReverse == buttonStatus){
title = @"哦哦哦";
}
[self setTitle:title forState:UIControlStateNormal];
_buttonStatus = buttonStatus;
}
@end
调用
#import "ViewControllerTest.h"
#import "CustomButton.h"
@interface ViewControllerTest () {
CustomButton *button;
}
@end
@implementation ViewControllerTest
- (void)viewDidLoad {
[super viewDidLoad];
self.view.backgroundColor = [UIColor whiteColor];
button = [CustomButton buttonWithType:UIButtonTypeCustom];
[button setButtonStatus:CustomButtonStatusNormal];
[button setFrame:CGRectMake(200, 80, 86, 42)];
[button addTarget:self action:@selector(customButtonClick:) forControlEvents:UIControlEventTouchUpInside];
[button setBackgroundColor:[UIColor redColor]];
[self.view addSubview:button];
}
-(void) customButtonClick: sender{
button.buttonStatus = !button.buttonStatus;
}
