1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- //
- // XG_BarButton.m
- // MyApp
- //
- // Created by huxinguang on 2018/9/11.
- // Copyright © 2018年 huxinguang. All rights reserved.
- //
- #import "XG_BarButton.h"
- #import "XG_PickerMacro.h"
- @implementation XG_BarButtonConfiguration
- @end
- @implementation XG_BarButton
- - (instancetype)initWithConfiguration:(XG_BarButtonConfiguration *)config{
- if (self = [super init]) {
- self.configuration = config;
- }
- return self;
- }
- - (void)setConfiguration:(XG_BarButtonConfiguration *)configuration{
- if (!configuration) {
- return;
- }
- switch (configuration.type) {
- case XG_BarButtonTypeBack:
- if (configuration.normalImageName) {
- [self setImage:[UIImage imageNamed:configuration.normalImageName] forState:UIControlStateNormal];
- }
- break;
- case XG_BarButtonTypeImage:
- if (configuration.normalImageName) {
- [self setImage:[UIImage imageNamed:configuration.normalImageName] forState:UIControlStateNormal];
- }
- if (configuration.selectedImageName) {
- [self setImage:[UIImage imageNamed:configuration.normalImageName] forState:UIControlStateSelected];
- }
- if (configuration.highlightedImageName) {
- [self setImage:[UIImage imageNamed:configuration.highlightedImageName] forState:UIControlStateHighlighted];
- }
- break;
- case XG_BarButtonTypeText:
- [self setTitle:configuration.titleString ? configuration.titleString: @""forState:UIControlStateNormal];
- self.titleLabel.font = configuration.titleFont;
- if (configuration.normalColor) {
- [self setTitleColor:configuration.normalColor forState:UIControlStateNormal];
- }
- if (configuration.selectedColor) {
- [self setTitleColor:configuration.selectedColor forState:UIControlStateSelected];
- }
- if (configuration.highlightedColor) {
- [self setTitleColor:configuration.highlightedColor forState:UIControlStateHighlighted];
- }
- if (configuration.disabledColor) {
- [self setTitleColor:configuration.disabledColor forState:UIControlStateDisabled];
- }
- break;
- default:
- break;
- }
-
- }
- /*
- // Only override drawRect: if you perform custom drawing.
- // An empty implementation adversely affects performance during animation.
- - (void)drawRect:(CGRect)rect {
- // Drawing code
- }
- */
- @end
|