// // HeaderFooterAddView.m // PDFViewer // // Created by kdanmobile_2 on 2022/11/16. // #import "CPDFHeaderFooterAddView.h" #import "Masonry.h" @implementation CPDFHeaderFooterAddView - (instancetype)initWithFrame:(CGRect)frame { self = [super initWithFrame:frame]; if (self) { // Page number _pageNumberLabel = [[UILabel alloc] init]; _pageNumberText = [[UITextField alloc] init]; [self addSubview:_pageNumberLabel]; [self addSubview:_pageNumberText]; // Font size _fontSizeLabel = [[UILabel alloc] init]; _fontSizeText = [[UITextField alloc] init]; [self addSubview:_fontSizeLabel]; [self addSubview:_fontSizeText]; // Page index _pageIndexLabel = [[UILabel alloc] init]; _pageIndexNumberText = [[UITextField alloc] init]; [self addSubview:_pageIndexLabel]; [self addSubview:_pageIndexNumberText]; self.backgroundColor = [UIColor whiteColor]; } return self; } - (void)layoutSubviews { [super layoutSubviews]; CGFloat offsetx = 3.5; // Page number [_pageNumberLabel mas_makeConstraints:^(MASConstraintMaker *make) { make.top.equalTo(self.colorSlider.mas_bottom).offset(offsetx); make.left.equalTo(self.mas_left).offset(offsetx); make.height.mas_equalTo(44); make.width.mas_equalTo(73); }]; [_pageNumberText mas_makeConstraints:^(MASConstraintMaker *make) { make.top.equalTo(self.colorSlider.mas_bottom).offset(offsetx); make.left.equalTo(_pageNumberLabel.mas_right).offset(offsetx); make.height.mas_equalTo(44); make.width.mas_equalTo(93); }]; // Font size [_fontSizeLabel mas_makeConstraints:^(MASConstraintMaker *make) { make.top.equalTo(self.colorSlider.mas_bottom).offset(offsetx); make.left.equalTo(_pageNumberText.mas_right).offset(offsetx + 20); make.height.mas_equalTo(44); make.width.mas_equalTo(73); }]; [_fontSizeText mas_makeConstraints:^(MASConstraintMaker *make) { make.top.equalTo(self.colorSlider.mas_bottom).offset(offsetx); make.left.equalTo(_fontSizeLabel.mas_right).offset(offsetx); make.height.mas_equalTo(44); make.width.mas_equalTo(93); }]; // Page index [_pageIndexLabel mas_makeConstraints:^(MASConstraintMaker *make) { make.top.equalTo(_pageNumberLabel.mas_bottom).offset(offsetx); make.left.equalTo(self.mas_left).offset(offsetx); make.height.mas_equalTo(44); make.width.mas_equalTo(73); }]; [_pageIndexNumberText mas_makeConstraints:^(MASConstraintMaker *make) { make.top.equalTo(_pageNumberText.mas_bottom).offset(offsetx+5); make.left.equalTo(_pageIndexLabel.mas_right).offset(offsetx); make.height.mas_equalTo(33); make.width.mas_equalTo(93); }]; } - (void)setText { // Page number location [self.localLabel setText:@"Page number position"]; self.localLabel.font = [UIFont boldSystemFontOfSize:12]; // Alignment [self.alignmentLabel setText:@"alignment"]; self.alignmentLabel.font = [UIFont boldSystemFontOfSize:12]; // Font color [self.colorLabel setText:@"Font Color"]; self.colorLabel.font = [UIFont boldSystemFontOfSize:12]; CALayer *layer = [self.colerImage layer]; layer.borderColor = [[UIColor blackColor] CGColor]; layer.borderWidth = 0.5f; self.colerImage.image = [UIImage imageNamed:@"text_color_bar"]; self.colorSlider.minimumValue = 0; self.colorSlider.maximumValue = 100; self.colorSlider.value = 5; // Page number [_pageNumberLabel setText:@"Page Text"]; _pageNumberLabel.font = [UIFont boldSystemFontOfSize:14]; _pageNumberText.borderStyle = UITextBorderStyleRoundedRect; _pageNumberText.placeholder = @"text"; // Font size [_fontSizeLabel setText:@"Font Szie"]; _fontSizeLabel.font = [UIFont boldSystemFontOfSize:14]; _fontSizeText.borderStyle = UITextBorderStyleRoundedRect; _fontSizeText.placeholder = @"18.0"; _fontSizeText.delegate = self; _fontSizeText.keyboardType = UIKeyboardTypeDefault; // Page index [_pageIndexLabel setText:@"Page Start"]; _pageIndexLabel.font = [UIFont boldSystemFontOfSize:14]; _pageIndexNumberText.borderStyle = UITextBorderStyleRoundedRect; _pageIndexNumberText.placeholder = @"1"; } #pragma mark - UITextFieldDelegate - (BOOL)textFieldShouldReturn:(UITextField *)textField { [_pageNumberText resignFirstResponder]; return YES; } - (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string { NSString *number = kNumber; NSPredicate *numberPre = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",number]; return [numberPre evaluateWithObject:string]; } @end