14@property (nonatomic, strong) UIStackView *stackView;
43 UIButton *zoomOutButton = [
UIButton buttonWithType:UIButtonTypeSystem];
44 UIButton *zoomInButton = [
UIButton buttonWithType:UIButtonTypeSystem];
47 [zoomInButton setImage:[c.zoomInIcon imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate] forState:UIControlStateNormal];
48 zoomInButton.imageView.contentMode = UIViewContentModeScaleAspectFit;
50 [zoomInButton setTitle:@"+" forState:UIControlStateNormal];
53 [zoomOutButton setImage:[c.zoomOutIcon imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate] forState:UIControlStateNormal];
54 zoomOutButton.imageView.contentMode = UIViewContentModeScaleAspectFit;
56 [zoomOutButton setTitle:@"−" forState:UIControlStateNormal];
59 zoomOutButton.backgroundColor = bgColor;
60 zoomInButton.backgroundColor = bgColor;
61 zoomOutButton.tintColor = tintColor;
62 zoomInButton.tintColor = tintColor;
65 zoomOutButton.layer.maskedCorners = kCALayerMinXMaxYCorner | kCALayerMaxXMaxYCorner;
67 zoomInButton.layer.maskedCorners = kCALayerMinXMinYCorner | kCALayerMaxXMinYCorner;
69 zoomOutButton.titleLabel.font = [UIFont systemFontOfSize:kNCButtonFontSize];
70 zoomInButton.titleLabel.font = [UIFont systemFontOfSize:kNCButtonFontSize];
72 [zoomOutButton addTarget:
self action:@selector(zoomOutPressed:) forControlEvents:UIControlEventTouchUpInside];
73 [zoomInButton addTarget:
self action:@selector(zoomInPressed:) forControlEvents:UIControlEventTouchUpInside];
75 UIStackView *stack = [[UIStackView alloc] initWithArrangedSubviews:@[zoomInButton, zoomOutButton]];
76 stack.axis = UILayoutConstraintAxisVertical;
77 stack.distribution = UIStackViewDistributionFillEqually;
79 stack.translatesAutoresizingMaskIntoConstraints = NO;
86 [
self addSubview:stack];
88 self.translatesAutoresizingMaskIntoConstraints = NO;
90 [NSLayoutConstraint activateConstraints:@[
91 [stack.leadingAnchor constraintEqualToAnchor:
self.leadingAnchor],
92 [stack.trailingAnchor constraintEqualToAnchor:
self.trailingAnchor],
93 [stack.topAnchor constraintEqualToAnchor:
self.topAnchor],
94 [stack.bottomAnchor constraintEqualToAnchor:
self.bottomAnchor],
95 [stack.widthAnchor constraintEqualToConstant:width],
96 [stack.heightAnchor constraintEqualToConstant:height]
102 if (!_stackView || _stackView.arrangedSubviews.count < 2)
return;
103 UIButton *zoomInButton = (UIButton *)_stackView.arrangedSubviews[0];
104 UIButton *zoomOutButton = (UIButton *)_stackView.arrangedSubviews[1];
111 [
zoomInButton setImage:[
c.
zoomInIcon imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate] forState:UIControlStateNormal];
112 [
zoomInButton setTitle:nil forState:UIControlStateNormal];
114 [
zoomInButton setImage:nil forState:UIControlStateNormal];
115 [
zoomInButton setTitle:@"+" forState:UIControlStateNormal];
118 [
zoomOutButton setImage:[
c.
zoomOutIcon imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate] forState:UIControlStateNormal];
125 zoomInButton.backgroundColor = bgColor;
126 zoomOutButton.backgroundColor = bgColor;
127 zoomInButton.tintColor = tintColor;
128 zoomOutButton.tintColor = tintColor;
131- (void)zoomOutPressed:(UIButton *)sender {
132 if (
self.onZoomOut) {
137- (void)zoomInPressed:(UIButton *)sender {