-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathCBDStepperView.m
64 lines (51 loc) · 2.42 KB
/
CBDStepperView.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#import "CBDStepperView.h"
@implementation CBDStepperView
-(CBDStepperView *)initWithFrame:(CGRect)frame {
self = [super initWithFrame:frame];
self.titleLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 0, 0)];
self.titleLabel.font = [UIFont boldSystemFontOfSize:14];
self.titleLabel.text = @"STEPPER";
self.titleLabel.textColor = [UIColor whiteColor];
self.titleLabel.translatesAutoresizingMaskIntoConstraints = NO;
[self addSubview:self.titleLabel];
self.valueLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 0, 0)];
self.valueLabel.font = [UIFont boldSystemFontOfSize:14];
self.valueLabel.text = @"0";
self.valueLabel.textColor = [UIColor whiteColor];
self.valueLabel.textAlignment = NSTextAlignmentCenter;
self.valueLabel.translatesAutoresizingMaskIntoConstraints = NO;
[self addSubview:self.valueLabel];
self.stepper = [[UIStepper alloc] initWithFrame:CGRectMake(0, 0, 0, 0)];
[self.stepper addTarget:self action:@selector(updateValue:) forControlEvents:UIControlEventValueChanged];
self.stepper.translatesAutoresizingMaskIntoConstraints = NO;
[self.stepper setTintColor:[UIColor whiteColor]];
[self addSubview:self.stepper];
[NSLayoutConstraint activateConstraints:@[
[self.stepper.topAnchor constraintEqualToAnchor:self.topAnchor constant:10],
[self.stepper.trailingAnchor constraintEqualToAnchor:self.trailingAnchor constant:-5],
[self.stepper.heightAnchor constraintEqualToConstant:30],
]];
[NSLayoutConstraint activateConstraints:@[
[self.valueLabel.topAnchor constraintEqualToAnchor:self.topAnchor constant:10],
[self.valueLabel.trailingAnchor constraintEqualToAnchor:self.stepper.leadingAnchor constant:-5],
[self.valueLabel.heightAnchor constraintEqualToConstant:30],
[self.valueLabel.widthAnchor constraintEqualToConstant:45]
]];
[NSLayoutConstraint activateConstraints:@[
[self.titleLabel.topAnchor constraintEqualToAnchor:self.topAnchor constant:10],
[self.titleLabel.leadingAnchor constraintEqualToAnchor:self.leadingAnchor],
[self.titleLabel.trailingAnchor constraintEqualToAnchor:self.valueLabel.leadingAnchor constant:-5],
[self.titleLabel.heightAnchor constraintEqualToConstant:30]
]];
[NSLayoutConstraint activateConstraints:@[
[self.heightAnchor constraintEqualToConstant:50],
]];
return self;
}
-(NSString *)valueAsString {
return [NSString stringWithFormat:@"%.f", self.stepper.value];
}
-(void)updateValue:(id)sender {
self.valueLabel.text = [self valueAsString];
}
@end