// // HeaderFooterAlertViewController.m // PDFViewer // // Created by kdanmobile_2 on 2022/11/16. // #import "CPDFHeaderFooterAddController.h" @interface CPDFHeaderFooterAddController () @end @implementation CPDFHeaderFooterAddController - (id)initWithIamge:(UIImage *)image WithSize:(CGSize)size WithDocument:(CPDFDocument *)docment WithView:(CPDFView *) pdfView { self = [super init]; if (self) { _image = image; _size = size; _document = docment; _pdfView = pdfView; } return self; } - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. //setting navigation self.navigationItem.title = @"Add Page NUmber"; self.navigationController.toolbarHidden = YES; self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(doneClick:)]; self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCancel target:self action:@selector(cancelClick:)]; //initialize model _modelData = [[CPDFModelData alloc] init]; //add page image UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake((393/2)-(self.size.width/6), 125, self.size.width/3, self.size.height/3)]; imageView.image = self.image; CALayer *layer = [imageView layer]; layer.borderColor = [[UIColor blackColor] CGColor]; layer.borderWidth = 1.0f; [self.view addSubview:imageView]; //add view _headerFooterview = [[CPDFHeaderFooterAddView alloc] initWithFrame:CGRectMake(0, self.view.frame.size.height/2, self.view.frame.size.width, self.view.frame.size.height)]; [self.view addSubview:_headerFooterview]; [_headerFooterview.localSegment addTarget:self action:@selector(changeLocation:) forControlEvents:UIControlEventValueChanged]; [_headerFooterview.aligbmentSegment addTarget:self action:@selector(changeAligbment:) forControlEvents:UIControlEventValueChanged]; [_headerFooterview.colorSlider addTarget:self action:@selector(sliderChange:) forControlEvents:UIControlEventValueChanged]; } - (void)cancelClick:(UIBarButtonItem *)btn { [self.navigationController popViewControllerAnimated:YES]; } - (void)doneClick:(UIBarButtonItem *)btn { /*self.headerFooter = [self.document headerFooter]; [self.headerFooter clear]; self.headerFooter.pageString = @"2"; [self.headerFooter setText:@"1" atIndex:1]; [self.headerFooter setTextColor:self.modelData.fontColor atIndex:self.modelData.fontPosition]; [self.headerFooter update];*/ NSDictionary *dict = [[NSDictionary alloc] initWithObjectsAndKeys:self.modelData,@"model", nil]; NSNotification *notification = [NSNotification notificationWithName:@"changeModel" object:nil userInfo:dict]; [[NSNotificationCenter defaultCenter] postNotification:notification]; [self.navigationController popViewControllerAnimated:YES]; //[self.navigationController popViewControllerAnimated:YES]; } //slider select color - (void)sliderChange:(UISlider *)slider { switch ((int)slider.value/10) { case 0: self.showLabel.textColor = [UIColor redColor]; self.modelData.fontColor = [UIColor redColor]; break; case 1: self.showLabel.textColor = [UIColor orangeColor]; self.modelData.fontColor = [UIColor orangeColor]; break; case 2: self.showLabel.textColor = [UIColor colorWithRed:239.0/255 green:140.0/255 blue:133.0/255 alpha:1]; self.modelData.fontColor = [UIColor colorWithRed:239.0/255 green:140.0/255 blue:133.0/255 alpha:1]; break; case 3: self.showLabel.textColor = [UIColor yellowColor]; self.modelData.fontColor = [UIColor yellowColor];; break; case 4: self.showLabel.textColor = [UIColor greenColor]; self.modelData.fontColor = [UIColor greenColor]; break; case 5: self.showLabel.textColor = [UIColor blueColor]; self.modelData.fontColor = [UIColor blueColor]; break; case 6: self.showLabel.textColor = [UIColor purpleColor]; self.modelData.fontColor = [UIColor purpleColor]; break; case 7: self.showLabel.textColor = [UIColor colorWithRed:235.0/255 green:61.0/255 blue:133.0/255 alpha:1]; self.modelData.fontColor = [UIColor colorWithRed:235.0/255 green:61.0/255 blue:133.0/255 alpha:1]; break; case 8: self.showLabel.textColor = [UIColor blackColor]; self.modelData.fontColor = [UIColor blackColor]; break; default: break; } } //select headerfooter - (void)changeLocation:(UISegmentedControl *)sender { if (sender.selectedSegmentIndex == 0) { _position.location = kHeader; } else { _position.location = kFooter; } [self showPages]; } //select aligment - (void)changeAligbment:(UISegmentedControl *)sender { if (sender.selectedSegmentIndex == 0) { _position.aligment = kLeft; } else if (sender.selectedSegmentIndex == 1) { _position.aligment = kCenter; } else { _position.aligment = kRinght; } [self showPages]; } //show headerfooter and aligment - (void)showPages { if (_showLabel == nil) { _showLabel = [[UILabel alloc] init]; } switch (self.position.location) { case kHeader: NSLog(@"header"); switch (self.position.aligment) { case kLeft: _showLabel.frame = CGRectMake((393/2)-(self.size.width/6)+2, 177, 5, 5); self.modelData.fontPosition = 0; break; case kCenter: _showLabel.frame = CGRectMake(393/2, 177, 5, 5); self.modelData.fontPosition = 1; break; case kRinght: _showLabel.frame = CGRectMake((393/2)+(self.size.width/6)-7, 177, 5, 5); self.modelData.fontPosition = 2; break; default: break; } break; case kFooter: NSLog(@"Footer"); switch (self.position.aligment) { case kLeft: _showLabel.frame = CGRectMake((393/2)-(self.size.width/6)+2, 170+self.size.height/3, 5, 5); self.modelData.fontPosition = 3; break; case kCenter: _showLabel.frame = CGRectMake(393/2, 170+self.size.height/3, 5, 5); self.modelData.fontPosition = 4; break; case kRinght: _showLabel.frame = CGRectMake((393/2)+(self.size.width/6)-7, 170+self.size.height/3, 5, 5); self.modelData.fontPosition = 5; break; default: break; } break; default: break; } [_showLabel setText:@"1"]; [self.view addSubview:_showLabel]; } @end