工作中有一个点击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;}
新闻热点
疑难解答