你的位置:首页 > 操作系统

[操作系统]iOS 自定义UIButton


工作中有一个点击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;}