CPDFHeaderFooterAddView.m 4.9 KB

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