·您现在的位置: 云翼网络 >> 文章中心 >> 网站建设 >> app软件开发 >> IOS开发 >> iOS自定义UIButton

iOS自定义UIButton

作者:佚名      IOS开发编辑:admin      更新时间:2022-07-23

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