工作中有一个点击button更新button上文案的需求,用自定义了button可以很简单的实现的这个需求
首先写个自定义的button
CustomButton.h
#import <UIKit/UIKit.h> typedef NS_ENUM(NSUInteger, CustomButtonStatus){
CustomButtonStatusNormal = ,
CustomButtonStatusReverse =
}; @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(, , , )];
[button addTarget:self action:@selector(customButtonClick:) forControlEvents:UIControlEventTouchUpInside];
[button setBackgroundColor:[UIColor redColor]];
[self.view addSubview:button]; } -(void) customButtonClick: sender{
button.buttonStatus = !button.buttonStatus;
}