工作中有一个点击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; }
时间: 2024-10-06 00:41:06