PDFHeaderFooterAddView.m 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193
  1. //
  2. // HeaderFooterAddView.m
  3. // PDFViewer
  4. //
  5. // Created by kdanmobile_2 on 2022/11/16.
  6. //
  7. #import "PDFHeaderFooterAddView.h"
  8. //#import "Masonry.h"
  9. @implementation PDFHeaderFooterAddView
  10. - (instancetype)initWithFrame:(CGRect)frame {
  11. self = [super initWithFrame:frame];
  12. if (self) {
  13. // // Page number
  14. // _pageNumberLabel = [[UILabel alloc] init];
  15. // _pageNumberText = [[UITextField alloc] init];
  16. //
  17. // [self addSubview:_pageNumberLabel];
  18. // [self addSubview:_pageNumberText];
  19. //
  20. // // Font size
  21. // _fontSizeLabel = [[UILabel alloc] init];
  22. // _fontSizeText = [[UITextField alloc] init];
  23. //
  24. // [self addSubview:_fontSizeLabel];
  25. // [self addSubview:_fontSizeText];
  26. //
  27. // // Page index
  28. // _pageIndexLabel = [[UILabel alloc] init];
  29. // _pageIndexNumberText = [[UITextField alloc] init];
  30. //
  31. // [self addSubview:_pageIndexLabel];
  32. // [self addSubview:_pageIndexNumberText];
  33. //
  34. // self.backgroundColor = [UIColor whiteColor];
  35. // self = [[NSBundle mainBundle] loadNibNamed:@"HeaderFooterAddView" owner:nil options:nil].firstObject;
  36. _pageIndexNumberText.delegate = self;
  37. _fontSizeText.delegate = self;
  38. _pageNumberText.inputView = [[UIView alloc] initWithFrame:CGRectZero];
  39. _pageNumberText.inputAccessoryView = [[UIView alloc] initWithFrame:CGRectZero];
  40. }
  41. return self;
  42. }
  43. //#pragma mark - Layout
  44. //
  45. //- (void)layoutSubviews {
  46. // [super layoutSubviews];
  47. // CGFloat offsetx = 3.5;
  48. //
  49. // // Page number
  50. // [_pageNumberLabel mas_makeConstraints:^(MASConstraintMaker *make) {
  51. // make.top.equalTo(self.colorSlider.mas_bottom).offset(offsetx);
  52. // make.left.equalTo(self.mas_left).offset(offsetx);
  53. // make.height.mas_equalTo(34);
  54. // make.width.mas_equalTo(73);
  55. // }];
  56. //
  57. // [_pageNumberText mas_makeConstraints:^(MASConstraintMaker *make) {
  58. // make.top.equalTo(self.colorSlider.mas_bottom).offset(offsetx);
  59. // make.left.equalTo(_pageNumberLabel.mas_right).offset(offsetx);
  60. // make.height.mas_equalTo(34);
  61. // make.width.mas_equalTo(93);
  62. // }];
  63. //
  64. // // Font size
  65. // [_fontSizeLabel mas_makeConstraints:^(MASConstraintMaker *make) {
  66. // make.top.equalTo(self.colorSlider.mas_bottom).offset(offsetx);
  67. // make.left.equalTo(_pageNumberText.mas_right).offset(offsetx + 20);
  68. // make.height.mas_equalTo(34);
  69. // make.width.mas_equalTo(73);
  70. // }];
  71. //
  72. // [_fontSizeText mas_makeConstraints:^(MASConstraintMaker *make) {
  73. // make.top.equalTo(self.colorSlider.mas_bottom).offset(offsetx);
  74. // make.left.equalTo(_fontSizeLabel.mas_right).offset(offsetx);
  75. // make.height.mas_equalTo(34);
  76. // make.width.mas_equalTo(93);
  77. // }];
  78. //
  79. // // Page index
  80. // [_pageIndexLabel mas_makeConstraints:^(MASConstraintMaker *make) {
  81. // make.top.equalTo(_pageNumberLabel.mas_bottom).offset(offsetx);
  82. // make.left.equalTo(self.mas_left).offset(offsetx);
  83. // make.height.mas_equalTo(34);
  84. // make.width.mas_equalTo(73);
  85. // }];
  86. //
  87. // [_pageIndexNumberText mas_makeConstraints:^(MASConstraintMaker *make) {
  88. // make.top.equalTo(_pageNumberText.mas_bottom).offset(offsetx+5);
  89. // make.left.equalTo(_pageIndexLabel.mas_right).offset(offsetx);
  90. // make.height.mas_equalTo(33);
  91. // make.width.mas_equalTo(93);
  92. // }];
  93. //}
  94. //
  95. //#pragma mark - Assignment
  96. //
  97. //- (void)setText {
  98. // // Page number location
  99. // [self.localLabel setText:NSLocalizedString(@"Page number position", nil)];
  100. // self.localLabel.font = [UIFont boldSystemFontOfSize:12];
  101. //
  102. // // Alignment
  103. // [self.alignmentLabel setText:NSLocalizedString(@"alignment", nil)];
  104. // self.alignmentLabel.font = [UIFont boldSystemFontOfSize:12];
  105. //
  106. // // Font color
  107. // [self.colorLabel setText:NSLocalizedString(@"Font Color", nil)];
  108. // self.colorLabel.font = [UIFont boldSystemFontOfSize:12];
  109. //
  110. // CALayer *layer = [self.colerImage layer];
  111. // layer.borderColor = [[UIColor blackColor] CGColor];
  112. // layer.borderWidth = 0.5f;
  113. // self.colerImage.image = [UIImage imageNamed:@"text_color_bar"];
  114. //
  115. // self.colorSlider.minimumValue = 0;
  116. // self.colorSlider.maximumValue = 100;
  117. // self.colorSlider.value = 5;
  118. //
  119. // // Page number
  120. // [_pageNumberLabel setText:NSLocalizedString(@"Page Text", nil)];
  121. // _pageNumberLabel.font = [UIFont boldSystemFontOfSize:14];
  122. //
  123. // _pageNumberText.inputView = [[UIView alloc] initWithFrame:CGRectZero];
  124. // _pageNumberText.inputAccessoryView = [[UIView alloc] initWithFrame:CGRectZero];
  125. // _pageNumberText.delegate = self;
  126. // _pageNumberText.adjustsFontSizeToFitWidth = YES;
  127. // _pageNumberText.tintColor = [UIColor clearColor];
  128. // _pageNumberText.borderStyle = UITextBorderStyleRoundedRect;
  129. // _pageNumberText.placeholder = @"text";
  130. //
  131. // // Font size
  132. // [_fontSizeLabel setText:NSLocalizedString(@"Font Szie", nil)];
  133. // _fontSizeLabel.font = [UIFont boldSystemFontOfSize:14];
  134. //
  135. // _fontSizeText.keyboardType = UIKeyboardTypeNumbersAndPunctuation;
  136. // _fontSizeText.clearsOnBeginEditing = YES;
  137. // _fontSizeText.borderStyle = UITextBorderStyleRoundedRect;
  138. // _fontSizeText.placeholder = @"18.0";
  139. // _fontSizeText.delegate = self;
  140. // _fontSizeText.keyboardType = UIKeyboardTypeDefault;
  141. //
  142. // // Page index
  143. // [_pageIndexLabel setText:NSLocalizedString(@"Page Start", nil)];
  144. // _pageIndexLabel.font = [UIFont boldSystemFontOfSize:12];
  145. //
  146. // _pageIndexNumberText.keyboardType = UIKeyboardTypeNumbersAndPunctuation;
  147. // _pageIndexNumberText.clearsOnBeginEditing = YES;
  148. // _pageIndexNumberText.delegate = self;
  149. // _pageIndexNumberText.borderStyle = UITextBorderStyleRoundedRect;
  150. // _pageIndexNumberText.placeholder = @"1";
  151. //}
  152. #pragma mark - UITextFieldDelegate
  153. - (BOOL)textFieldShouldReturn:(UITextField *)textField {
  154. [textField resignFirstResponder];
  155. return YES;
  156. }
  157. - (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
  158. if (_fontSizeText == textField || _pageNumberText == textField) {
  159. return [self validateValue:string];
  160. }
  161. return YES;
  162. }
  163. - (BOOL)validateValue:(NSString *)number {
  164. BOOL res = YES;
  165. NSCharacterSet *numberSet = [NSCharacterSet characterSetWithCharactersInString:@"0123456789"];
  166. NSInteger i = 0;
  167. while (i < number.length) {
  168. NSString *str = [number substringWithRange:NSMakeRange(i, 1)];
  169. NSRange range = [str rangeOfCharacterFromSet:numberSet];
  170. if (range.length == 0) {
  171. res = NO;
  172. break;
  173. }
  174. i++;
  175. }
  176. return res;
  177. }
  178. @end