// // InspectSettleViewController.m // redstar // // Created by admin on 15/11/4. // Copyright © 2015年 ZWF. All rights reserved. // #import "InspectSettleViewController.h" #import "InspectSettleCell.h" #import "InspectDetailFooterView.h" #import "CheckPicViewController.h" #import "HttpClient.h" #define kInspectSettleCell @"InspectSettleCell" @interface InspectSettleViewController () <UITableViewDelegate, UITableViewDataSource, TakePhotoViewDelegate, UINavigationControllerDelegate, UIImagePickerControllerDelegate> @property (nonatomic, strong) UITableView *tableView; @property (nonatomic, strong) InspectDetailFooterView *footerView; @end @implementation InspectSettleViewController - (void)viewDidLoad { [super viewDidLoad]; UILabel *customLab = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 40, 30)]; [customLab setTextColor:[UIColor whiteColor]]; [customLab setText:@"已上报"]; customLab.font = [UIFont boldSystemFontOfSize:19]; self.navigationItem.titleView = customLab; UIButton *backBtn = [UIButton buttonWithType:UIButtonTypeCustom]; backBtn.frame = CGRectMake(0, 0, 30, 44); [backBtn setImage:[UIImage imageNamed:@"back_btn"] forState:UIControlStateNormal]; [backBtn addTarget:self action:@selector(doBack:) forControlEvents:UIControlEventTouchUpInside]; UIBarButtonItem *backItem = [[UIBarButtonItem alloc] initWithCustomView:backBtn]; self.navigationItem.leftBarButtonItem = backItem; [self.tableView registerClass:[InspectSettleCell class] forCellReuseIdentifier:kInspectSettleCell]; self.tableView.tableFooterView = self.footerView; self.footerView.takePhotoView.delegate = self; } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated. } #pragma mark - private Methods // 返回上一页面 - (void)doBack:(UIBarButtonItem *)sender { [self.navigationController popViewControllerAnimated:YES]; } #pragma mark - TakePhoto Delegate - (void)deletePhoto:(UIButton *)button { // 从存放所有Image的数组里移除当前点击的Image [self.footerView.takePhotoView.allImages removeObject:[(UIButton *)button.superview imageForState:UIControlStateNormal]]; // 移除显示Image的Button [button.superview removeFromSuperview]; } - (void)createImagePicker { // 创建相册 UIImagePickerController *pc = [[UIImagePickerController alloc] init]; pc.allowsEditing = YES; pc.delegate = self; // 推出 [self presentViewController:pc animated:YES completion:nil]; } - (void)takePhotoShowPicture:(UIButton *)btn { CheckPicViewController *checkVC = [[CheckPicViewController alloc] init]; checkVC.checkImage = btn.imageView.image; [self.navigationController pushViewController:checkVC animated:YES]; } #pragma mark - UIImagePickerController 代理方法 - (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info { UIImage *image = [info objectForKey:UIImagePickerControllerEditedImage]; // 创建一个新的控件 UIButton *newButton = [self.footerView.takePhotoView createButtonWithImage:image]; [newButton addTarget:self action:@selector(takePhotoShowPicture:) forControlEvents:UIControlEventTouchUpInside]; [self.footerView.takePhotoView insertSubview:newButton atIndex:self.footerView.takePhotoView.subviews.count - 1]; [self.footerView.takePhotoView.allImages addObject:image]; int count = (int)self.footerView.takePhotoView.allImages.count + 1; int k ; if (count % 2 == 0) { k = count / 2; } else { k = (count + 1) / 2; } CGFloat btnH = 110; CGFloat marginY = 10; self.footerView.takePhotoView.frame = CGRectMake(0, 40, kScreenWidth, k * btnH + (k + 1) * marginY); self.footerView.height = self.footerView.takePhotoView.frame.size.height + 220; NSLog(@"self.footerView = %f", self.footerView.frame.size.height); // 退出图片选择控制器 [picker dismissViewControllerAnimated:YES completion:nil]; } #pragma mark - TableView Delegate/DataSource - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { return 1; } // cell显示的内容 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { InspectSettleCell *cell=[tableView dequeueReusableCellWithIdentifier:kInspectSettleCell]; if (!cell) { cell = [[InspectSettleCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:kInspectSettleCell]; } cell.titleLabel.text = @"3:广场吊旗"; cell.titleDetailLabel.text = @"要求图片3张"; cell.introLabel.text = @"参考说明"; cell.introDetailLabel.text = @"字体以简体中文为主;内容贴近活动主题;悬挂牢固,以不影响顾客浏览体验为佳"; return cell; } - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { } // section高度 - (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section { return 0; } - (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section { return CGFLOAT_MIN; } #pragma mark - lazy loading - (UITableView *)tableView { if (!_tableView) { _tableView = [[UITableView alloc] initWithFrame:CGRectZero]; _tableView.translatesAutoresizingMaskIntoConstraints = NO; _tableView.delegate = self; _tableView.dataSource = self; _tableView.showsVerticalScrollIndicator = NO; _tableView.showsHorizontalScrollIndicator = NO; _tableView.rowHeight = UITableViewAutomaticDimension; _tableView.estimatedRowHeight = 200.0; [self.view addSubview:_tableView]; NSLayoutConstraint *tableTop = [NSLayoutConstraint constraintWithItem:_tableView attribute:NSLayoutAttributeTop relatedBy:NSLayoutRelationEqual toItem:self.view attribute:NSLayoutAttributeTop multiplier:1.0 constant:0]; [self.view addConstraint:tableTop]; NSLayoutConstraint *tableLeft = [NSLayoutConstraint constraintWithItem:_tableView attribute:NSLayoutAttributeLeft relatedBy:NSLayoutRelationEqual toItem:self.view attribute:NSLayoutAttributeLeft multiplier:1.0 constant:0]; [self.view addConstraint:tableLeft]; NSLayoutConstraint *tableRight = [NSLayoutConstraint constraintWithItem:_tableView attribute:NSLayoutAttributeRight relatedBy:NSLayoutRelationEqual toItem:self.view attribute:NSLayoutAttributeRight multiplier:1.0 constant:0]; [self.view addConstraint:tableRight]; NSLayoutConstraint *tableBottom = [NSLayoutConstraint constraintWithItem:_tableView attribute:NSLayoutAttributeBottom relatedBy:NSLayoutRelationEqual toItem:self.view attribute:NSLayoutAttributeBottom multiplier:1.0 constant:0]; [self.view addConstraint:tableBottom]; } return _tableView; } - (InspectDetailFooterView *)footerView { if (!_footerView) { _footerView = [[InspectDetailFooterView alloc] init]; } return _footerView; } @end