CPDFHeaderFooterAddView.m 9.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218
  1. //
  2. // HeaderFooterAddView.m
  3. // PDFViewer
  4. //
  5. // Created by kdanmobile_2 on 2022/11/16.
  6. //
  7. #import "CPDFHeaderFooterAddView.h"
  8. #import "Masonry.h"
  9. @implementation CPDFHeaderFooterAddView
  10. - (instancetype)initWithFrame:(CGRect)frame {
  11. self = [super initWithFrame:frame];
  12. CGFloat offsetx = 3.5;
  13. if (self) {
  14. //Page number location
  15. _localLabel = [[UILabel alloc] init];
  16. [_localLabel setText:@"Page number position"];
  17. _localLabel.font = [UIFont boldSystemFontOfSize:12];
  18. NSArray *arraySegmmentL = [NSArray arrayWithObjects:@"Header",@"Footer", nil];
  19. _localSegment = [[UISegmentedControl alloc] initWithItems:arraySegmmentL];
  20. [self addSubview:_localLabel];
  21. [self addSubview:_localSegment];
  22. [_localLabel mas_makeConstraints:^(MASConstraintMaker *make) {
  23. make.top.equalTo(self.mas_top).offset(offsetx);
  24. make.left.equalTo(self.mas_left).offset(offsetx);
  25. make.width.mas_equalTo(130);
  26. make.height.mas_equalTo(22);
  27. }];
  28. [_localSegment mas_makeConstraints:^(MASConstraintMaker *make) {
  29. make.top.equalTo(_localLabel.mas_bottom).offset(offsetx);
  30. make.left.equalTo(self.mas_left).offset(4 * offsetx);
  31. make.width.mas_equalTo(364);
  32. make.height.mas_equalTo(44);
  33. }];
  34. //alignment
  35. _alignmentLabel = [[UILabel alloc] init];
  36. [_alignmentLabel setText:@"alignment"];
  37. _alignmentLabel.font = [UIFont boldSystemFontOfSize:12];
  38. NSArray *arraySegmmentA = [NSArray arrayWithObjects:@"Left",@"Center",@"Right", nil];
  39. _aligbmentSegment = [[UISegmentedControl alloc] initWithItems:arraySegmmentA];
  40. [self addSubview:_alignmentLabel];
  41. [self addSubview:_aligbmentSegment];
  42. [_alignmentLabel mas_makeConstraints:^(MASConstraintMaker *make) {
  43. make.top.equalTo(_localSegment.mas_bottom).offset(offsetx);
  44. make.left.equalTo(self.mas_left).offset(offsetx);
  45. make.width.mas_equalTo(100);
  46. make.height.mas_equalTo(22);
  47. }];
  48. [_aligbmentSegment mas_makeConstraints:^(MASConstraintMaker *make) {
  49. make.top.equalTo(_alignmentLabel.mas_bottom).offset(offsetx);
  50. make.left.equalTo(self.mas_left).offset(4 * offsetx);
  51. make.width.mas_equalTo(364);
  52. make.height.mas_equalTo(44);
  53. }];
  54. //font color
  55. _colorLabel = [[UILabel alloc] init];
  56. [_colorLabel setText:@"Font Color"];
  57. _colorLabel.font = [UIFont boldSystemFontOfSize:12];
  58. _colerImage = [[UIImageView alloc] init];
  59. CALayer *layer = [_colerImage layer];
  60. layer.borderColor = [[UIColor blackColor] CGColor];
  61. layer.borderWidth = 0.5f;
  62. _colerImage.image = [UIImage imageNamed:@"text_color_bar"];
  63. _colorSlider = [[UISlider alloc] init];
  64. _colorSlider.minimumValue = 0;
  65. _colorSlider.maximumValue = 100;
  66. _colorSlider.value = 5;
  67. [self addSubview:_colorLabel];
  68. [self addSubview:_colorSlider];
  69. [self addSubview:_colerImage];
  70. [_colorLabel mas_makeConstraints:^(MASConstraintMaker *make) {
  71. make.top.equalTo(_aligbmentSegment.mas_bottom).offset(offsetx);
  72. make.left.equalTo(self.mas_left).offset(offsetx);
  73. make.width.mas_equalTo(100);
  74. make.height.mas_equalTo(22);
  75. //make.bottom.equalTo(_colerImage.mas_top).offset(-offsetx);
  76. }];
  77. [_colerImage mas_makeConstraints:^(MASConstraintMaker *make) {
  78. make.top.equalTo(_colorLabel.mas_bottom).offset(offsetx);
  79. make.left.equalTo(self.mas_left).offset(4 * offsetx);
  80. make.width.mas_equalTo(364);
  81. make.height.mas_equalTo(44);
  82. //make.bottom.equalTo(_colorSlider.mas_top).offset(-offsetx);
  83. }];
  84. [_colorSlider mas_makeConstraints:^(MASConstraintMaker *make) {
  85. make.top.equalTo(_colerImage.mas_bottom).offset(offsetx);
  86. make.left.equalTo(self.mas_left).offset(4 * offsetx);
  87. make.width.mas_equalTo(364);
  88. make.height.mas_equalTo(44);
  89. //make.bottom.equalTo(_pageNumberLabel.mas_top).offset(-offsetx);
  90. }];
  91. //page number
  92. _pageNumberLabel = [[UILabel alloc] init];
  93. [_pageNumberLabel setText:@"Page Text"];
  94. _pageNumberLabel.font = [UIFont boldSystemFontOfSize:14];
  95. // NSArray *str = [[NSArray alloc] initWithObjects:@"1",@"第1页", nil];
  96. //_dropdownView = [[CPDFDropDownView alloc] init];
  97. _pageNumberText = [[UITextField alloc] init];
  98. _pageNumberText.borderStyle = UITextBorderStyleRoundedRect;
  99. _pageNumberText.placeholder = @"text";
  100. [self addSubview:_pageNumberLabel];
  101. [self addSubview:_pageNumberText];
  102. [_pageNumberLabel mas_makeConstraints:^(MASConstraintMaker *make) {
  103. make.top.equalTo(_colorSlider.mas_bottom).offset(offsetx);
  104. make.left.equalTo(self.mas_left).offset(offsetx);
  105. //make.right.equalTo(_pageNumberText.mas_left).offset(-offsetx);
  106. make.height.mas_equalTo(44);
  107. make.width.mas_equalTo(73);
  108. //make.bottom.equalTo(_dropdownView.mas_top).offset(-offsetx);
  109. }];
  110. [_pageNumberText mas_makeConstraints:^(MASConstraintMaker *make) {
  111. make.top.equalTo(_colorSlider.mas_bottom).offset(offsetx);
  112. make.left.equalTo(_pageNumberLabel.mas_right).offset(offsetx);
  113. //make.right.equalTo(_fontSizeLabel.mas_left).offset(-offsetx);
  114. make.height.mas_equalTo(44);
  115. make.width.mas_equalTo(93);
  116. //make.bottom.equalTo(_pageIndexNumberLabel.mas_top).offset(-offsetx);
  117. }];
  118. //font size
  119. _fontSizeLabel = [[UILabel alloc] init];
  120. [_fontSizeLabel setText:@"Font Szie"];
  121. _fontSizeLabel.font = [UIFont boldSystemFontOfSize:14];
  122. _fontSizeText = [[UITextField alloc] init];
  123. _fontSizeText.borderStyle = UITextBorderStyleRoundedRect;
  124. _fontSizeText.placeholder = @"10.0";
  125. _fontSizeText.keyboardType = UIKeyboardTypeDefault;
  126. _fontSizeText.delegate = self;
  127. [self addSubview:_fontSizeLabel];
  128. [self addSubview:_fontSizeText];
  129. [_fontSizeLabel mas_makeConstraints:^(MASConstraintMaker *make) {
  130. make.top.equalTo(_colorSlider.mas_bottom).offset(offsetx);
  131. make.left.equalTo(_pageNumberText.mas_right).offset(offsetx + 20);
  132. //make.right.equalTo(_fontSizeText.mas_left).offset(-offsetx);
  133. make.height.mas_equalTo(44);
  134. make.width.mas_equalTo(73);
  135. //make.bottom.equalTo(_pageIndexNumberStepper.mas_top).offset(-offsetx);
  136. }];
  137. [_fontSizeText mas_makeConstraints:^(MASConstraintMaker *make) {
  138. make.top.equalTo(_colorSlider.mas_bottom).offset(offsetx);
  139. make.left.equalTo(_fontSizeLabel.mas_right).offset(offsetx);
  140. //make.right.equalTo(self.mas_left).offset(-offsetx);
  141. make.height.mas_equalTo(44);
  142. make.width.mas_equalTo(93);
  143. }];
  144. //font index
  145. _pageIndexLabel = [[UILabel alloc] init];
  146. [_pageIndexLabel setText:@"Page Start"];
  147. _pageIndexLabel.font = [UIFont boldSystemFontOfSize:14];
  148. _pageIndexNumberLabel = [[UILabel alloc] init];
  149. _pageIndexNumberLabel.backgroundColor = [UIColor whiteColor];
  150. _pageIndexNumberLabel.textColor = [UIColor blackColor];
  151. _pageIndexNumberLabel.textAlignment = NSTextAlignmentCenter;
  152. _pageIndexNumberStepper = [[UIStepper alloc] init];
  153. // The step value is updated in real time as the user interacts
  154. _pageIndexNumberStepper.continuous = YES;
  155. _pageIndexNumberStepper.autorepeat = YES;
  156. _pageIndexNumberStepper.wraps = NO;
  157. _pageIndexNumberStepper.minimumValue = 1;
  158. _pageIndexNumberStepper.maximumValue = 100;
  159. _pageIndexNumberStepper.stepValue = 1;
  160. _pageIndexNumberStepper.value = 1;
  161. [_pageIndexNumberStepper addTarget:self
  162. action:@selector(stepperValueChanged:)
  163. forControlEvents:UIControlEventValueChanged];
  164. [self addSubview:_pageIndexLabel];
  165. [self addSubview:_pageIndexNumberLabel];
  166. [self addSubview:_pageIndexNumberStepper];
  167. [_pageIndexLabel mas_makeConstraints:^(MASConstraintMaker *make) {
  168. make.top.equalTo(_pageNumberLabel.mas_bottom).offset(offsetx);
  169. make.left.equalTo(self.mas_left).offset(offsetx);
  170. //make.right.equalTo(_pageNumberLabel.mas_left).offset(-offsetx);
  171. make.height.mas_equalTo(44);
  172. make.width.mas_equalTo(93);
  173. }];
  174. [_pageIndexNumberLabel mas_makeConstraints:^(MASConstraintMaker *make) {
  175. make.top.equalTo(_pageNumberText.mas_bottom).offset(offsetx);
  176. make.left.equalTo(_pageIndexLabel.mas_right).offset(offsetx);
  177. //make.right.equalTo(_pageIndexNumberStepper.mas_right).offset(-offsetx);
  178. make.height.mas_equalTo(44);
  179. make.width.mas_equalTo(93);
  180. }];
  181. [_pageIndexNumberStepper mas_makeConstraints:^(MASConstraintMaker *make) {
  182. make.top.equalTo(_fontSizeLabel.mas_bottom).offset(offsetx);
  183. make.left.equalTo(_pageIndexNumberLabel.mas_right).offset(offsetx);
  184. make.height.mas_equalTo(44);
  185. make.width.mas_equalTo(93);
  186. }];
  187. self.backgroundColor = [UIColor whiteColor];
  188. }
  189. return self;
  190. }
  191. - (void)stepperValueChanged:(UIStepper *)pageIndexNumberStepper {
  192. int pageIndex = (int)pageIndexNumberStepper.value;
  193. NSString *value = [NSString stringWithFormat:@"%d",pageIndex];
  194. self.pageIndexLabel.font = [UIFont boldSystemFontOfSize:12.0];
  195. self.pageIndexNumberLabel.text = value;
  196. }
  197. - (BOOL)textFieldShouldReturn:(UITextField *)textField {
  198. [_pageNumberText resignFirstResponder];
  199. return YES;
  200. }
  201. @end