CPDFHeaderFooterAddView.m 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152
  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. if (self) {
  13. // Page number
  14. _pageNumberLabel = [[UILabel alloc] init];
  15. _pageNumberText = [[UITextField alloc] init];
  16. [self addSubview:_pageNumberLabel];
  17. [self addSubview:_pageNumberText];
  18. // Font size
  19. _fontSizeLabel = [[UILabel alloc] init];
  20. _fontSizeText = [[UITextField alloc] init];
  21. [self addSubview:_fontSizeLabel];
  22. [self addSubview:_fontSizeText];
  23. // Page index
  24. _pageIndexLabel = [[UILabel alloc] init];
  25. _pageIndexNumberText = [[UITextField alloc] init];
  26. [self addSubview:_pageIndexLabel];
  27. [self addSubview:_pageIndexNumberText];
  28. self.backgroundColor = [UIColor whiteColor];
  29. }
  30. return self;
  31. }
  32. - (void)layoutSubviews {
  33. [super layoutSubviews];
  34. CGFloat offsetx = 3.5;
  35. // Page number
  36. [_pageNumberLabel mas_makeConstraints:^(MASConstraintMaker *make) {
  37. make.top.equalTo(self.colorSlider.mas_bottom).offset(offsetx);
  38. make.left.equalTo(self.mas_left).offset(offsetx);
  39. make.height.mas_equalTo(44);
  40. make.width.mas_equalTo(73);
  41. }];
  42. [_pageNumberText mas_makeConstraints:^(MASConstraintMaker *make) {
  43. make.top.equalTo(self.colorSlider.mas_bottom).offset(offsetx);
  44. make.left.equalTo(_pageNumberLabel.mas_right).offset(offsetx);
  45. make.height.mas_equalTo(44);
  46. make.width.mas_equalTo(93);
  47. }];
  48. // Font size
  49. [_fontSizeLabel mas_makeConstraints:^(MASConstraintMaker *make) {
  50. make.top.equalTo(self.colorSlider.mas_bottom).offset(offsetx);
  51. make.left.equalTo(_pageNumberText.mas_right).offset(offsetx + 20);
  52. make.height.mas_equalTo(44);
  53. make.width.mas_equalTo(73);
  54. }];
  55. [_fontSizeText mas_makeConstraints:^(MASConstraintMaker *make) {
  56. make.top.equalTo(self.colorSlider.mas_bottom).offset(offsetx);
  57. make.left.equalTo(_fontSizeLabel.mas_right).offset(offsetx);
  58. make.height.mas_equalTo(44);
  59. make.width.mas_equalTo(93);
  60. }];
  61. // Page index
  62. [_pageIndexLabel mas_makeConstraints:^(MASConstraintMaker *make) {
  63. make.top.equalTo(_pageNumberLabel.mas_bottom).offset(offsetx);
  64. make.left.equalTo(self.mas_left).offset(offsetx);
  65. make.height.mas_equalTo(44);
  66. make.width.mas_equalTo(73);
  67. }];
  68. [_pageIndexNumberText mas_makeConstraints:^(MASConstraintMaker *make) {
  69. make.top.equalTo(_pageNumberText.mas_bottom).offset(offsetx+5);
  70. make.left.equalTo(_pageIndexLabel.mas_right).offset(offsetx);
  71. make.height.mas_equalTo(33);
  72. make.width.mas_equalTo(93);
  73. }];
  74. }
  75. - (void)setText {
  76. // Page number location
  77. [self.localLabel setText:@"Page number position"];
  78. self.localLabel.font = [UIFont boldSystemFontOfSize:12];
  79. // Alignment
  80. [self.alignmentLabel setText:@"alignment"];
  81. self.alignmentLabel.font = [UIFont boldSystemFontOfSize:12];
  82. // Font color
  83. [self.colorLabel setText:@"Font Color"];
  84. self.colorLabel.font = [UIFont boldSystemFontOfSize:12];
  85. CALayer *layer = [self.colerImage layer];
  86. layer.borderColor = [[UIColor blackColor] CGColor];
  87. layer.borderWidth = 0.5f;
  88. self.colerImage.image = [UIImage imageNamed:@"text_color_bar"];
  89. self.colorSlider.minimumValue = 0;
  90. self.colorSlider.maximumValue = 100;
  91. self.colorSlider.value = 5;
  92. // Page number
  93. [_pageNumberLabel setText:@"Page Text"];
  94. _pageNumberLabel.font = [UIFont boldSystemFontOfSize:14];
  95. _pageNumberText.borderStyle = UITextBorderStyleRoundedRect;
  96. _pageNumberText.placeholder = @"text";
  97. // Font size
  98. [_fontSizeLabel setText:@"Font Szie"];
  99. _fontSizeLabel.font = [UIFont boldSystemFontOfSize:14];
  100. _fontSizeText.borderStyle = UITextBorderStyleRoundedRect;
  101. _fontSizeText.placeholder = @"18.0";
  102. _fontSizeText.delegate = self;
  103. _fontSizeText.keyboardType = UIKeyboardTypeDefault;
  104. // Page index
  105. [_pageIndexLabel setText:@"Page Start"];
  106. _pageIndexLabel.font = [UIFont boldSystemFontOfSize:14];
  107. _pageIndexNumberText.borderStyle = UITextBorderStyleRoundedRect;
  108. _pageIndexNumberText.placeholder = @"1";
  109. }
  110. #pragma mark - UITextFieldDelegate
  111. - (BOOL)textFieldShouldReturn:(UITextField *)textField {
  112. [_pageNumberText resignFirstResponder];
  113. return YES;
  114. }
  115. - (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
  116. NSString *number = kNumber;
  117. NSPredicate *numberPre = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",number];
  118. return [numberPre evaluateWithObject:string];
  119. }
  120. @end