|
@@ -46,12 +46,15 @@
|
|
|
|
|
|
#pragma mark - Initializers
|
|
|
|
|
|
-- (instancetype)initWithImage:(UIImage *)image withDocument:(CPDFDocument *)document{
|
|
|
+- (instancetype)initWithDocument:(CPDFDocument *)document{
|
|
|
self = [super init];
|
|
|
if (self) {
|
|
|
- _image = image;
|
|
|
- _imageSize = image.size;
|
|
|
_document = document;
|
|
|
+
|
|
|
+ CPDFPage *pdfPage = [document pageAtIndex:0];
|
|
|
+ CGSize imageSize = [document pageSizeAtIndex:0];
|
|
|
+ _image = [pdfPage thumbnailOfSize:imageSize];
|
|
|
+ _imageSize = _image.size;
|
|
|
}
|
|
|
return self;
|
|
|
}
|
|
@@ -91,113 +94,114 @@
|
|
|
- (void)addConstraint {
|
|
|
|
|
|
if ([UIDevice currentDevice].orientation == UIDeviceOrientationLandscapeRight || [UIDevice currentDevice].orientation == UIDeviceOrientationLandscapeLeft || [UIDevice currentDevice].orientation == UIDeviceOrientationPortraitUpsideDown) {
|
|
|
- [_segmentedControl mas_makeConstraints:^(MASConstraintMaker *make) {
|
|
|
- make.top.equalTo(self.view.mas_top).offset(43.6);
|
|
|
- make.width.equalTo(self.view.mas_width);
|
|
|
- make.height.equalTo(@(self.view.bounds.size.height / 13));
|
|
|
- }];
|
|
|
-
|
|
|
- [_textViewController.view mas_makeConstraints:^(MASConstraintMaker *make) {
|
|
|
- make.top.equalTo(_segmentedControl.mas_bottom).offset(0);
|
|
|
- make.width.equalTo(_segmentedControl.mas_width);
|
|
|
- make.bottom.equalTo(self.view).offset(-34);
|
|
|
- }];
|
|
|
- [_imageViewController.view mas_makeConstraints:^(MASConstraintMaker *make) {
|
|
|
- make.top.equalTo(_segmentedControl.mas_bottom).offset(0);
|
|
|
- make.width.equalTo(_segmentedControl.mas_width);
|
|
|
- make.bottom.equalTo(self.view).offset(-34);
|
|
|
- }];
|
|
|
-
|
|
|
- [_textViewController.textView mas_remakeConstraints:^(MASConstraintMaker *make) {
|
|
|
- make.right.equalTo(self.view.mas_right).offset(-38);
|
|
|
- make.height.equalTo(@205);
|
|
|
- make.width.equalTo(@393);
|
|
|
- make.bottom.equalTo(self.view.mas_bottom).offset(-74);
|
|
|
- }];
|
|
|
- [_textViewController.textPreview mas_remakeConstraints:^(MASConstraintMaker *make) {
|
|
|
- make.top.equalTo(self.segmentedControl.mas_bottom).offset(10);
|
|
|
- make.right.equalTo(_textViewController.textView.mas_left).offset(-5);
|
|
|
- make.left.equalTo(self.view.mas_left).offset(0);
|
|
|
- make.bottom.equalTo(self.view.mas_bottom).offset(-34);
|
|
|
- }];
|
|
|
-
|
|
|
- [_imageViewController.imageView mas_remakeConstraints:^(MASConstraintMaker *make) {
|
|
|
- make.right.equalTo(self.view.mas_right).offset(-38);
|
|
|
- make.height.equalTo(@205);
|
|
|
- make.width.equalTo(@393);
|
|
|
- make.bottom.equalTo(self.view.mas_bottom).offset(-74);
|
|
|
- }];
|
|
|
- [_imageViewController.imagePreview mas_remakeConstraints:^(MASConstraintMaker *make) {
|
|
|
- make.top.equalTo(self.segmentedControl.mas_bottom).offset(10);
|
|
|
- make.right.equalTo(_imageViewController.imageView.mas_left).offset(-5);
|
|
|
- make.left.equalTo(self.view.mas_left).offset(0);
|
|
|
- make.bottom.equalTo(self.view.mas_bottom).offset(-34);
|
|
|
- }];
|
|
|
-
|
|
|
- [_textViewController.textPreview.documentView mas_remakeConstraints:^(MASConstraintMaker *make) {
|
|
|
- make.centerX.equalTo(_textViewController.textPreview.mas_centerX);
|
|
|
- make.centerY.equalTo(_textViewController.textPreview.mas_centerY);
|
|
|
- make.width.equalTo(@(_imageSize.width / 10));
|
|
|
- make.height.equalTo(@(_imageSize.height / 10));
|
|
|
- }];
|
|
|
- [_imageViewController.imagePreview.documentView mas_remakeConstraints:^(MASConstraintMaker *make) {
|
|
|
- make.centerX.equalTo(_imageViewController.imagePreview.mas_centerX);
|
|
|
- make.centerY.equalTo(_imageViewController.imagePreview.mas_centerY);
|
|
|
- make.width.equalTo(@(_imageSize.width / 10));
|
|
|
- make.height.equalTo(@(_imageSize.height / 10));
|
|
|
- }];
|
|
|
+ [self addSideConstraint];
|
|
|
} else {
|
|
|
- [_segmentedControl mas_makeConstraints:^(MASConstraintMaker *make) {
|
|
|
- make.top.equalTo(self.view.mas_top).offset(83.6);
|
|
|
- make.width.equalTo(self.view.mas_width);
|
|
|
- make.height.equalTo(@(self.view.bounds.size.height / 20));
|
|
|
- }];
|
|
|
-
|
|
|
- [_textViewController.view mas_makeConstraints:^(MASConstraintMaker *make) {
|
|
|
- make.top.equalTo(_segmentedControl.mas_bottom).offset(0);
|
|
|
- make.width.equalTo(_segmentedControl.mas_width);
|
|
|
- make.bottom.equalTo(self.view).offset(-34);
|
|
|
- }];
|
|
|
- [_imageViewController.view mas_makeConstraints:^(MASConstraintMaker *make) {
|
|
|
- make.top.equalTo(_segmentedControl.mas_bottom).offset(0);
|
|
|
- make.width.equalTo(_segmentedControl.mas_width);
|
|
|
- make.bottom.equalTo(self.view).offset(-34);
|
|
|
- }];
|
|
|
- [_textViewController.textPreview.documentView mas_makeConstraints:^(MASConstraintMaker *make) {
|
|
|
- make.centerX.equalTo(_textViewController.textPreview.mas_centerX);
|
|
|
- make.centerY.equalTo(_textViewController.textPreview.mas_centerY);
|
|
|
- make.width.equalTo(@(_imageSize.width / 8));
|
|
|
- make.height.equalTo(@(_imageSize.height / 8));
|
|
|
- }];
|
|
|
- [_imageViewController.imagePreview.documentView mas_makeConstraints:^(MASConstraintMaker *make) {
|
|
|
- make.centerX.equalTo(_imageViewController.imagePreview.mas_centerX);
|
|
|
- make.centerY.equalTo(_imageViewController.imagePreview.mas_centerY);
|
|
|
- make.width.equalTo(@(_imageSize.width / 8));
|
|
|
- make.height.equalTo(@(_imageSize.height / 8));
|
|
|
- }];
|
|
|
+ [self addNomalConstraint];
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+- (void)addSideConstraint {
|
|
|
+ [_segmentedControl mas_makeConstraints:^(MASConstraintMaker *make) {
|
|
|
+ make.top.equalTo(self.view.mas_top).offset(43.6);
|
|
|
+ make.width.equalTo(self.view.mas_width);
|
|
|
+ make.height.equalTo(@(self.view.bounds.size.height / 13));
|
|
|
+ }];
|
|
|
+
|
|
|
+ [_textViewController.view mas_makeConstraints:^(MASConstraintMaker *make) {
|
|
|
+ make.top.equalTo(_segmentedControl.mas_bottom).offset(0);
|
|
|
+ make.width.equalTo(_segmentedControl.mas_width);
|
|
|
+ make.bottom.equalTo(self.view).offset(-34);
|
|
|
+ }];
|
|
|
+ [_imageViewController.view mas_makeConstraints:^(MASConstraintMaker *make) {
|
|
|
+ make.top.equalTo(_segmentedControl.mas_bottom).offset(0);
|
|
|
+ make.width.equalTo(_segmentedControl.mas_width);
|
|
|
+ make.bottom.equalTo(self.view).offset(-34);
|
|
|
+ }];
|
|
|
+
|
|
|
+ [_textViewController.textView mas_remakeConstraints:^(MASConstraintMaker *make) {
|
|
|
+ make.right.equalTo(self.view.mas_right).offset(-38);
|
|
|
+ make.height.equalTo(@205);
|
|
|
+ make.width.equalTo(@393);
|
|
|
+ make.bottom.equalTo(self.view.mas_bottom).offset(-74);
|
|
|
+ }];
|
|
|
+ [_textViewController.textPreview mas_remakeConstraints:^(MASConstraintMaker *make) {
|
|
|
+ make.top.equalTo(self.segmentedControl.mas_bottom).offset(10);
|
|
|
+ make.right.equalTo(_textViewController.textView.mas_left).offset(-5);
|
|
|
+ make.left.equalTo(self.view.mas_left).offset(0);
|
|
|
+ make.bottom.equalTo(self.view.mas_bottom).offset(-34);
|
|
|
+ }];
|
|
|
+
|
|
|
+ [_imageViewController.imageView mas_remakeConstraints:^(MASConstraintMaker *make) {
|
|
|
+ make.right.equalTo(self.view.mas_right).offset(-38);
|
|
|
+ make.height.equalTo(@205);
|
|
|
+ make.width.equalTo(@393);
|
|
|
+ make.bottom.equalTo(self.view.mas_bottom).offset(-74);
|
|
|
+ }];
|
|
|
+ [_imageViewController.imagePreview mas_remakeConstraints:^(MASConstraintMaker *make) {
|
|
|
+ make.top.equalTo(self.segmentedControl.mas_bottom).offset(10);
|
|
|
+ make.right.equalTo(_imageViewController.imageView.mas_left).offset(-5);
|
|
|
+ make.left.equalTo(self.view.mas_left).offset(0);
|
|
|
+ make.bottom.equalTo(self.view.mas_bottom).offset(-34);
|
|
|
+ }];
|
|
|
+
|
|
|
+ [_textViewController.textPreview.documentView mas_remakeConstraints:^(MASConstraintMaker *make) {
|
|
|
+ make.centerX.equalTo(_textViewController.textPreview.mas_centerX);
|
|
|
+ make.centerY.equalTo(_textViewController.textPreview.mas_centerY);
|
|
|
+ make.width.equalTo(@(_imageSize.width / 10));
|
|
|
+ make.height.equalTo(@(_imageSize.height / 10));
|
|
|
+ }];
|
|
|
+ [_imageViewController.imagePreview.documentView mas_remakeConstraints:^(MASConstraintMaker *make) {
|
|
|
+ make.centerX.equalTo(_imageViewController.imagePreview.mas_centerX);
|
|
|
+ make.centerY.equalTo(_imageViewController.imagePreview.mas_centerY);
|
|
|
+ make.width.equalTo(@(_imageSize.width / 10));
|
|
|
+ make.height.equalTo(@(_imageSize.height / 10));
|
|
|
+ }];
|
|
|
+}
|
|
|
+
|
|
|
+- (void)addNomalConstraint {
|
|
|
+ [_segmentedControl mas_makeConstraints:^(MASConstraintMaker *make) {
|
|
|
+ make.top.equalTo(self.view.mas_top).offset(83.6);
|
|
|
+ make.width.equalTo(self.view.mas_width);
|
|
|
+ make.height.equalTo(@(self.view.bounds.size.height / 20));
|
|
|
+ }];
|
|
|
+
|
|
|
+ [_textViewController.view mas_makeConstraints:^(MASConstraintMaker *make) {
|
|
|
+ make.top.equalTo(_segmentedControl.mas_bottom).offset(0);
|
|
|
+ make.width.equalTo(_segmentedControl.mas_width);
|
|
|
+ make.bottom.equalTo(self.view).offset(-34);
|
|
|
+ }];
|
|
|
+ [_imageViewController.view mas_makeConstraints:^(MASConstraintMaker *make) {
|
|
|
+ make.top.equalTo(_segmentedControl.mas_bottom).offset(0);
|
|
|
+ make.width.equalTo(_segmentedControl.mas_width);
|
|
|
+ make.bottom.equalTo(self.view).offset(-34);
|
|
|
+ }];
|
|
|
+ [_textViewController.textPreview.documentView mas_makeConstraints:^(MASConstraintMaker *make) {
|
|
|
+ make.centerX.equalTo(_textViewController.textPreview.mas_centerX);
|
|
|
+ make.centerY.equalTo(_textViewController.textPreview.mas_centerY);
|
|
|
+ make.width.equalTo(@(_imageSize.width / 8));
|
|
|
+ make.height.equalTo(@(_imageSize.height / 8));
|
|
|
+ }];
|
|
|
+ [_imageViewController.imagePreview.documentView mas_makeConstraints:^(MASConstraintMaker *make) {
|
|
|
+ make.centerX.equalTo(_imageViewController.imagePreview.mas_centerX);
|
|
|
+ make.centerY.equalTo(_imageViewController.imagePreview.mas_centerY);
|
|
|
+ make.width.equalTo(@(_imageSize.width / 8));
|
|
|
+ make.height.equalTo(@(_imageSize.height / 8));
|
|
|
+ }];
|
|
|
+}
|
|
|
+
|
|
|
#pragma mark - Accessors
|
|
|
|
|
|
- (NSArray *)dataArray {
|
|
|
if (!_dataArray) {
|
|
|
_dataArray = [NSMutableArray array];
|
|
|
-
|
|
|
- CPDFWatermark *dataWater = [[CPDFWatermark alloc] init];
|
|
|
-
|
|
|
+
|
|
|
NSArray *waterArray = [_document watermarks];
|
|
|
|
|
|
for (NSInteger i = 0; i < waterArray.count; i++) {
|
|
|
- CPDFDataModel *dataModel = [[CPDFDataModel alloc] init];
|
|
|
+ CPDFWatermark *dataWater = [[CPDFWatermark alloc] init];
|
|
|
dataWater = waterArray[i];
|
|
|
- dataModel.text = dataWater.text;
|
|
|
- dataModel.textColor = dataWater.textColor;
|
|
|
- dataModel.watermarkScale = dataWater.scale;
|
|
|
- dataModel.watermarkOpacity = dataWater.opacity;
|
|
|
- dataModel.watermarkRotation = dataWater.rotation;
|
|
|
|
|
|
- [_dataArray addObject:dataModel];
|
|
|
+ [_dataArray addObject:dataWater];
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -219,10 +223,39 @@
|
|
|
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:path];
|
|
|
}
|
|
|
|
|
|
- cell.textLabel.text = [self.dataArray[indexPath.row] text];
|
|
|
+ if ([self.dataArray[indexPath.row] text]) {
|
|
|
+ cell.textLabel.text = [self.dataArray[indexPath.row] text];
|
|
|
+ } else {
|
|
|
+ cell.imageView.image = [self.dataArray[indexPath.row] image];
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
return cell;
|
|
|
}
|
|
|
|
|
|
+#pragma mark - UITableViewDelegate
|
|
|
+
|
|
|
+- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath {
|
|
|
+ return UITableViewCellEditingStyleDelete;
|
|
|
+}
|
|
|
+
|
|
|
+- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath {
|
|
|
+ if (editingStyle == UITableViewCellEditingStyleDelete) {
|
|
|
+ [self.delegate deleteTextModel:self.dataArray[indexPath.row]];
|
|
|
+ [self.dataArray removeObjectAtIndex:indexPath.row];
|
|
|
+
|
|
|
+ [tableView beginUpdates];
|
|
|
+ [tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationFade];
|
|
|
+ [tableView endUpdates];
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+- (void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)sourceIndexPath toIndexPath:(NSIndexPath *)destinationIndexPath {
|
|
|
+ CPDFWatermark *dataWater = _dataArray[sourceIndexPath.row];
|
|
|
+ [_dataArray removeObject:dataWater];
|
|
|
+ [_dataArray insertObject:dataWater atIndex:destinationIndexPath.row];
|
|
|
+}
|
|
|
+
|
|
|
#pragma mark - Actons
|
|
|
|
|
|
- (void)onClickedDoneBtn {
|
|
@@ -259,15 +292,15 @@
|
|
|
|
|
|
- (void)editClick {
|
|
|
if (self.editView.center.x < 50) {
|
|
|
- [_editView mas_makeConstraints:^(MASConstraintMaker *make) {
|
|
|
+ [_editView mas_remakeConstraints:^(MASConstraintMaker *make) {
|
|
|
make.left.equalTo(self.view.mas_left);
|
|
|
make.top.equalTo(self.textViewController.textPreview.mas_top);
|
|
|
make.bottom.equalTo(self.textViewController.textPreview.mas_bottom);
|
|
|
- make.width.mas_equalTo(150);
|
|
|
+ make.width.mas_equalTo(200);
|
|
|
}];
|
|
|
|
|
|
[UIView animateWithDuration:0.3 delay:0 options:UIViewAnimationOptionCurveEaseIn animations:^{
|
|
|
- self.editView.center = CGPointMake(self.editView.center.x + 150, self.editView.center.y);
|
|
|
+ self.editView.center = CGPointMake(self.editView.center.x + 200, self.editView.center.y);
|
|
|
} completion:nil];
|
|
|
}
|
|
|
}
|
|
@@ -275,7 +308,7 @@
|
|
|
- (void)cancelClick {
|
|
|
if (self.editView.center.x > 0) {
|
|
|
[UIView animateWithDuration:0.3 delay:0 options:UIViewAnimationOptionCurveEaseIn animations:^{
|
|
|
- self.editView.center = CGPointMake(self.editView.center.x - 150, self.editView.center.y);
|
|
|
+ self.editView.center = CGPointMake(self.editView.center.x - 200, self.editView.center.y);
|
|
|
} completion:nil];
|
|
|
}
|
|
|
}
|