zjf
2023-03-06 392b76515f40376b6d36f40a114850ef63650384
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
//
//  PBDrawingsShowController.m
//  IphoneBIMe
//
//  Created by zjf on 2018/7/24.
//  Copyright © 2018年 ProBIM. All rights reserved.
//
 
#import "PBDrawingsShowController.h"
#import "PBDrawingsModel.h"
#import "PBModelsModel.h"
#import "PBDrawingsInfoModel.h"
 
@interface PBDrawingsShowController ()<UIScrollViewDelegate>
@property (nonatomic,strong) UIScrollView *scrollView;
@property (nonatomic, strong) UIImageView *imageV;
@property (nonatomic, strong) UIImage *image;
@end
 
@implementation PBDrawingsShowController
 
- (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)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.contentMode = UIViewContentModeScaleToFill;
    [self.scrollView addSubview:self.imageV];
    [self.imageV mas_makeConstraints:^(MASConstraintMaker *make) {
        make.top.bottom.left.right.equalTo(self.scrollView);
    }];
}
 
- (void)backNavAction {
    [self.navigationController popViewControllerAnimated:YES];
}
 
- (void)loadDrawingsInfo {
//    [YJProgressHUD showCustomAnimation:@"" inview:self.view];
    [YJProgressHUD showProgress:@"" inView:self.view];
    [[PBNetworkTools sharedTools] RequestGetFIleWithProjectID:_modelsModel.ProjectID andModelID:_modelsModel.ID andVersionNO:@"" andFileType:@"PlanView" andFileName:_drawingsModel.ID andCallBack:^(NSURLSessionDataTask *task, id response, NSError *error) {
        if (error) {
            NSLog(@"%@",error);
            [YJProgressHUD showMessage:@"加载图纸失败" inView:self.view];
            return;
        }
        [YJProgressHUD hide];
        NSString *str = [[NSString alloc] initWithData:response encoding:NSUTF8StringEncoding];
        PBDrawingsInfoModel *drawingsInfoModel = [PBDrawingsInfoModel yy_modelWithJSON:str];
        self.image = [NSString imageDecoding:drawingsInfoModel.imagebase64];
        [self setScrollView];
    }];
}
 
- (void)setScrollView {
    self.imageV.image = self.image;
    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];
 
}
 
- (void)setDrawingsModel:(PBDrawingsModel *)drawingsModel {
    _drawingsModel = drawingsModel;
    self.title = drawingsModel.name;
    [self loadDrawingsInfo];
}
- (void)setModelsModel:(PBModelsModel *)modelsModel {
    _modelsModel = modelsModel;
}
 
#pragma mark - UIScrollViewDelegate
- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView {
    return self.imageV;
}
 
 
- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}
 
/*
#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