Needed to expose a few properties of the class in order to have adapt it to slight changes for use in support class.

This commit is contained in:
Kevin G Christiano 2019-08-05 11:50:15 -04:00
parent d0935a6d65
commit 1ec98eb29a
2 changed files with 16 additions and 12 deletions

View File

@ -30,7 +30,6 @@ typedef void (^PerformActionForRadioButton)(void);
@property (nullable, copy, nonatomic) PerformActionForRadioButton performActionForCheck;
typedef void (^CircleSelectedClosure)(_Nonnull id sender);
@property (nonatomic, strong, nullable) UIColor* fillColor;
@property (nonatomic, strong, nullable) UIColor* borderColor;
@property (nonatomic) CGFloat circleBorderWidth;
@ -38,11 +37,16 @@ typedef void (^CircleSelectedClosure)(_Nonnull id sender);
@property (nonatomic, copy, nullable) CircleSelectedClosure handleSelectionBlock;
@property (nonatomic) CGFloat circleDiameter;
@property (nonatomic, nullable, strong, readonly) CAShapeLayer * myCircle;
@property (nullable, weak, nonatomic) UIView *outerCircleView;
@property (nullable, weak, nonatomic) UIView *innerCircleView;
@property (nonatomic, strong, nullable) NSLayoutConstraint *heightConstraint;
@property (nonatomic, strong, nullable) NSLayoutConstraint *widthConstraint;
@property (nonatomic) BOOL respondsToTapGesture;
@property (nonatomic, getter = isSelected) BOOL selected;
@property (strong, nonatomic) NSLayoutConstraint *innerHeightConstarint;
@property (strong, nonatomic) NSLayoutConstraint *innerWidthConstarint;
@property (strong, nonatomic) NSLayoutConstraint *outerHeightConstarint;
@property (strong, nonatomic) NSLayoutConstraint *outerWidthConstarint;
// Set line width manually
- (void)setCheckMarkLineWidth:(CGFloat)lineWidth;

View File

@ -12,11 +12,6 @@
static CGFloat const DefaultOuterCircleSize = 31;
static CGFloat const DefaultInnerCircleSize = 19;
@interface MFRadioButton ()
@property (nullable, weak, nonatomic) UIView *outerCircleView;
@property (nullable, weak, nonatomic) UIView *innerCircleView;
@end
@implementation MFRadioButton
@ -64,9 +59,11 @@ static CGFloat const DefaultInnerCircleSize = 19;
[outerCircleView.leftAnchor constraintEqualToAnchor:self.leftAnchor].active = YES;
[outerCircleView.bottomAnchor constraintEqualToAnchor:self.bottomAnchor].active = YES;
[outerCircleView.rightAnchor constraintEqualToAnchor:self.rightAnchor].active = YES;
[outerCircleView.widthAnchor constraintEqualToConstant:DefaultOuterCircleSize].active = YES;
[outerCircleView.heightAnchor constraintEqualToConstant:DefaultOuterCircleSize].active = YES;
self.outerHeightConstarint = [outerCircleView.widthAnchor constraintEqualToConstant:DefaultOuterCircleSize];
self.outerHeightConstarint.active = YES;
self.outerWidthConstarint = [outerCircleView.heightAnchor constraintEqualToConstant:DefaultOuterCircleSize];
self.outerWidthConstarint.active = YES;
UIView *innerCircleView = [[UIView alloc] init];
[outerCircleView addSubview:innerCircleView];
@ -76,8 +73,11 @@ static CGFloat const DefaultInnerCircleSize = 19;
[innerCircleView.centerXAnchor constraintEqualToAnchor:outerCircleView.centerXAnchor].active = YES;
[innerCircleView.centerYAnchor constraintEqualToAnchor:outerCircleView.centerYAnchor].active = YES;
[innerCircleView.widthAnchor constraintEqualToConstant:DefaultInnerCircleSize].active = YES;
[innerCircleView.heightAnchor constraintEqualToConstant:DefaultInnerCircleSize].active = YES;
self.innerHeightConstarint = [innerCircleView.heightAnchor constraintEqualToConstant:DefaultInnerCircleSize];
self.innerHeightConstarint.active = YES;
self.innerWidthConstarint = [innerCircleView.widthAnchor constraintEqualToConstant:DefaultInnerCircleSize];
self.innerWidthConstarint.active = YES;
outerCircleView.userInteractionEnabled = NO;
innerCircleView.userInteractionEnabled = NO;