//
|
// PBOpenDrawController.m
|
// IphoneBIMe
|
//
|
// Created by zjf on 2019/1/16.
|
// Copyright © 2019 ProBIM. All rights reserved.
|
//
|
|
#import "PBOpenDrawController.h"
|
#import "PBDrawingsModel.h"
|
#import "PBModelsModel.h"
|
#import "PBDrawingsInfoModel.h"
|
#import "PBIssueAddModel.h"
|
#import "PBDrawingposModel.h"
|
#define positionImageVW 30
|
#define positionImageVH 30
|
|
@interface PBOpenDrawController ()<UIScrollViewDelegate>
|
@property (nonatomic,strong) UIScrollView *scrollView;
|
@property (nonatomic, strong) UIImageView *imageV;
|
@property (nonatomic, strong) UIImage *image;
|
@property (nonatomic, strong) UIView *redView;
|
@property (nonatomic, strong) UIImageView *positionImageV;
|
@end
|
|
@implementation PBOpenDrawController
|
|
- (void)viewDidLoad {
|
[super viewDidLoad];
|
[self setNav];
|
[self setupUI];
|
}
|
|
- (void)setNav {
|
self.view.backgroundColor = [UIColor whiteColor];
|
PBBackNavItem *backNav = [PBBackNavItem backNacItem];
|
backNav.title = @" ";
|
[backNav addTarget:self action:@selector(backNavAction) forControlEvents:UIControlEventTouchUpInside];
|
UIBarButtonItem *backNavItem = [[UIBarButtonItem alloc] initWithCustomView:backNav];
|
self.navigationItem.leftBarButtonItem = backNavItem;
|
}
|
|
- (void)backNavAction {
|
[self.navigationController popViewControllerAnimated:YES];
|
}
|
|
- (void)setupUI {
|
self.scrollView = [[UIScrollView alloc] init];
|
self.scrollView.delegate = self;
|
[self.view addSubview:self.scrollView];
|
[self.scrollView mas_makeConstraints:^(MASConstraintMaker *make) {
|
make.top.bottom.left.right.equalTo(self.view);
|
}];
|
|
self.imageV = [[UIImageView alloc] init];
|
self.imageV.image = self.image;
|
self.imageV.contentMode = UIViewContentModeScaleToFill;
|
[self.scrollView addSubview:self.imageV];
|
[self.imageV mas_makeConstraints:^(MASConstraintMaker *make) {
|
make.top.bottom.left.right.equalTo(self.scrollView);
|
}];
|
CGFloat x = [self.drawingposModel.PosX floatValue];
|
CGFloat y = [self.drawingposModel.PosY floatValue];
|
self.redView.frame = CGRectMake(x, y, 1, 1);
|
[self.imageV addSubview:self.redView];
|
|
|
self.scrollView.contentSize = self.image.size;
|
NSInteger imageW = CGImageGetWidth(self.image.CGImage);
|
NSInteger width = self.view.bounds.size.width;
|
CGFloat scale = (CGFloat)width / (CGFloat)imageW;
|
self.scrollView.maximumZoomScale = 2;
|
self.scrollView.minimumZoomScale = scale;
|
[self.scrollView setZoomScale:scale animated:NO];
|
|
CGPoint point = [self.redView convertPoint:CGPointMake(0, 0) toView:self.view];
|
self.positionImageV.frame = CGRectMake(point.x - (positionImageVW / 2), point.y - positionImageVH, positionImageVW, positionImageVH);
|
[self.view addSubview:self.positionImageV];
|
}
|
|
- (void)setDrawingsInfoModel:(PBDrawingsInfoModel *)drawingsInfoModel {
|
_drawingsInfoModel = drawingsInfoModel;
|
self.title = drawingsInfoModel.name;
|
self.image = [NSString imageDecoding:self.drawingsInfoModel.imagebase64];
|
}
|
- (void)setDrawingposModel:(PBDrawingposModel *)drawingposModel {
|
_drawingposModel = drawingposModel;
|
}
|
#pragma mark - UIScrollViewDelegate
|
- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView {
|
return self.imageV;
|
}
|
|
- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
|
[self changegreenView];
|
}
|
|
- (UIView *)redView {
|
if (_redView == nil) {
|
_redView = [[UIView alloc] init];
|
_redView.backgroundColor = [UIColor redColor];
|
}
|
return _redView;
|
}
|
- (UIImageView *)positionImageV {
|
if (_positionImageV == nil) {
|
_positionImageV = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"location"]];
|
}
|
return _positionImageV;
|
}
|
|
- (void)changegreenView {
|
CGPoint point = [self.redView convertPoint:CGPointMake(0, 0) toView:self.view];
|
CGRect frame = CGRectMake(point.x - (positionImageVW / 2), point.y - positionImageVH, positionImageVW, positionImageVH);
|
self.positionImageV.frame = frame;
|
NSLog(@"self.views位置-----------------------%@",NSStringFromCGPoint(point));
|
}
|
|
/*
|
#pragma mark - Navigation
|
|
// In a storyboard-based application, you will often want to do a little preparation before navigation
|
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
|
// Get the new view controller using [segue destinationViewController].
|
// Pass the selected object to the new view controller.
|
}
|
*/
|
|
@end
|