590 lines
16 KiB
Objective-C
590 lines
16 KiB
Objective-C
//
|
|
// KanHuBaoGaoView.m
|
|
// Ifish
|
|
//
|
|
// Created by imac on 16/8/29.
|
|
// Copyright © 2016年 lianxiang. All rights reserved.
|
|
//
|
|
|
|
#import "KanHuBaoGaoView.h"
|
|
#import "BaoGaoViewFirstCell.h"
|
|
#import "BaoGaoViewSecondCell.h"
|
|
#import "BaoGaoViewThirdCell.h"
|
|
|
|
//btn tag
|
|
#define SHUIZHICELL 100010
|
|
#define WEISHICELL 100020
|
|
#define JIANAKANGCELL 100030
|
|
|
|
//cell tag
|
|
#define JIANYICELL 100040
|
|
|
|
#define SHUIZHICELL_TAG 1110010
|
|
#define WEISHICELL_TAG 1110020
|
|
#define JIANAKANGCELL_TAG 1110030
|
|
|
|
#define BAOGOCELL_H (viewFrame.size.height - 120 - 50 )/3
|
|
#import "PingfenModel.h"
|
|
|
|
@implementation KanHuBaoGaoView
|
|
|
|
-(id)initWithFrame:(CGRect)frame
|
|
{
|
|
self=[super initWithFrame:frame];
|
|
|
|
if (self) {
|
|
|
|
viewFrame = frame;
|
|
[self setDatas];
|
|
[self creatTabWithFrame:frame];
|
|
//self.backgroundColor = COLOR_BACK_;
|
|
self.backgroundColor = COLOR_BACK_;
|
|
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(wifiviewkeyboradWillShow:) name:UIKeyboardWillChangeFrameNotification object:nil];
|
|
|
|
|
|
|
|
}
|
|
|
|
return self;
|
|
|
|
}
|
|
|
|
-(void)setDatas{
|
|
|
|
self.cateArr = @[@"水质观察:",@"喂食提醒:",@"将康状况:"];
|
|
|
|
[self setshuiZhiArr];
|
|
[self setweiShiArr];
|
|
[self setjianKangArr];
|
|
[self setholdPingfenArr];
|
|
[self setfenArr1];
|
|
[self setfenArr2];
|
|
}
|
|
|
|
-(NSArray *)setfenArr1{
|
|
|
|
if (!_fenArr1) {
|
|
_fenArr1 = @[@"0",@"10",@"20",@"30"];
|
|
}
|
|
|
|
return _fenArr1;
|
|
|
|
}
|
|
|
|
-(NSArray *)setfenArr2{
|
|
|
|
if (!_fenArr2) {
|
|
_fenArr2 = @[@"0",@"15",@"25",@"40"];
|
|
}
|
|
|
|
return _fenArr2;
|
|
|
|
}
|
|
|
|
|
|
|
|
-(NSArray *)setholdPingfenArr{
|
|
|
|
if (!_holdPingfenArr) {
|
|
|
|
_holdPingfenArr = @[@"简直是鱼儿的地狱啊",@"这是有多久没喂了",@"病怏怏的,快不行了"];
|
|
}
|
|
|
|
return _holdPingfenArr;
|
|
}
|
|
|
|
-(NSArray *)setshuiZhiArr{
|
|
|
|
if (!_shuiZhiArr) {
|
|
|
|
_shuiZhiArr = @[@"简直是鱼儿的地狱啊",@"鱼儿能继续活下去也是个奇迹",@"还凑合~",@"良好,棒棒哒"];
|
|
}
|
|
|
|
return _shuiZhiArr;
|
|
|
|
}
|
|
|
|
-(NSArray *)setweiShiArr{
|
|
|
|
if (!_weiShiArr) {
|
|
|
|
_weiShiArr = @[@"这是有多久没喂了",@"喂太少了,鱼儿快饿死啦",@"喂太多了,以后少喂点",@"饱食度刚好,赞一个"];
|
|
}
|
|
|
|
return _weiShiArr;
|
|
|
|
}
|
|
|
|
-(NSArray *)setjianKangArr{
|
|
|
|
if (!_jianKangArr) {
|
|
|
|
_jianKangArr = @[@"病怏怏的,快不行了",@"需要赶紧上药了哦",@"还好.多观察几天",@"活蹦乱跳,好着呢"];
|
|
}
|
|
|
|
return _jianKangArr;
|
|
|
|
}
|
|
|
|
-(void)creatTabWithFrame:(CGRect)frame{
|
|
|
|
self.tableView = [[UITableView alloc] init ];
|
|
self.tableView.frame = CGRectMake(0, 0, frame.size.width, frame.size.height);
|
|
|
|
self.tableView.delegate =self;
|
|
self.tableView.dataSource = self;
|
|
self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
|
|
self.tableView.scrollEnabled = YES;
|
|
self.tableView.backgroundColor = TABLE_BACKGROUD_COLOR;
|
|
|
|
[self addSubview:self.tableView];
|
|
|
|
|
|
}
|
|
|
|
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
|
|
|
|
|
|
return 6;
|
|
|
|
}
|
|
|
|
-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{
|
|
|
|
|
|
return 1;
|
|
}
|
|
|
|
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
|
|
|
|
if (indexPath.row == 0) {
|
|
|
|
|
|
BaoGaoViewFirstCell *cell = [tableView dequeueReusableCellWithIdentifier:@"BaoGaoViewFirstCell"];
|
|
if (!cell) {
|
|
cell = [[[NSBundle mainBundle]loadNibNamed:@"BaoGaoViewFirstCell" owner:self options:nil]lastObject];
|
|
|
|
}
|
|
cell.selectionStyle = UITableViewCellSelectionStyleNone;
|
|
|
|
[cell.shengChengBtn addTarget:self action:@selector(shengchengBtnClick) forControlEvents:UIControlEventTouchUpInside];
|
|
|
|
|
|
|
|
return cell;
|
|
|
|
|
|
|
|
}else if (indexPath.row >= 1 && indexPath.row <=3){
|
|
BaoGaoViewSecondCell *cell = [tableView dequeueReusableCellWithIdentifier:@"BaoGaoViewSecondCell"];
|
|
if (!cell) {
|
|
cell = [[[NSBundle mainBundle]loadNibNamed:@"BaoGaoViewSecondCell" owner:self options:nil]lastObject];
|
|
|
|
}
|
|
|
|
cell.cateNameLabel.text = self.cateArr[indexPath.row -1];
|
|
cell.pingFenLabel.text =self.holdPingfenArr[indexPath.row - 1];
|
|
|
|
if (indexPath.row == 1) {
|
|
|
|
|
|
if (self.selectShuiZhiIndex) {
|
|
|
|
cell.pingFenLabel.text = self.shuiZhiArr[self.selectShuiZhiIndex.row];
|
|
cell.fenLabel.text = [NSString stringWithFormat:@"%@分",self.fenArr1[self.selectShuiZhiIndex.row]];
|
|
}
|
|
|
|
|
|
}else if (indexPath.row == 2){
|
|
|
|
if (self.selectWeiShiIndex) {
|
|
cell.pingFenLabel.text = self.weiShiArr[self.selectWeiShiIndex.row];
|
|
cell.fenLabel.text = [NSString stringWithFormat:@"%@分",self.fenArr1[self.selectWeiShiIndex.row]];
|
|
|
|
}
|
|
|
|
}else if (indexPath.row == 3){
|
|
|
|
if (self.selectJianKangIndex) {
|
|
|
|
cell.pingFenLabel.text = self.jianKangArr[self.selectJianKangIndex.row];
|
|
cell.fenLabel.text = [NSString stringWithFormat:@"%@分",self.fenArr2[self.selectJianKangIndex.row]];
|
|
|
|
|
|
}
|
|
|
|
}
|
|
cell.tag = indexPath.row * 10 + 1110000;
|
|
|
|
cell.pingFenBtn.tag = indexPath.row * 10 + 100000;
|
|
|
|
// [cell.pingFenBtn addTarget:self action:@selector(pingfenActionSheet:) forControlEvents:UIControlEventTouchUpInside];
|
|
cell.selectionStyle = UITableViewCellSelectionStyleNone;
|
|
|
|
return cell;
|
|
|
|
}else if (indexPath.row == 4){
|
|
BaoGaoViewThirdCell *cell = [tableView dequeueReusableCellWithIdentifier:@"BaoGaoViewThirdCell"];
|
|
if (!cell) {
|
|
cell = [[[NSBundle mainBundle]loadNibNamed:@"BaoGaoViewThirdCell" owner:self options:nil]lastObject];
|
|
|
|
}
|
|
cell.jianYIField.delegate = self;
|
|
cell.tag = indexPath.row * 10 + 100000;
|
|
|
|
cell.selectionStyle = UITableViewCellSelectionStyleNone;
|
|
|
|
return cell;
|
|
|
|
|
|
}else if (indexPath.row == 5){
|
|
|
|
static NSString *nllCell=@"nilCell";
|
|
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:nllCell];
|
|
if (!cell) {
|
|
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:nllCell];
|
|
|
|
}
|
|
|
|
cell.backgroundColor = TABLE_BACKGROUD_COLOR;
|
|
cell.userInteractionEnabled = NO;
|
|
return cell;
|
|
|
|
}
|
|
|
|
return nil;
|
|
|
|
}
|
|
|
|
-(void)pingfenActionSheet:(UIButton*)btn{
|
|
|
|
BaoGaoDownView *pop=[[BaoGaoDownView alloc] init];
|
|
pop.frame = CGRectMake(0,0,CGRectGetWidth(btn.superview.frame), 160);
|
|
//pop.backgroundImage =image
|
|
pop.delegate = self;
|
|
|
|
int btnIndex = 0;
|
|
|
|
switch (btn.tag) {
|
|
|
|
case SHUIZHICELL:
|
|
{
|
|
|
|
//水质
|
|
pop.titles = self.shuiZhiArr;
|
|
pop.fenArr = self.fenArr1;
|
|
self.pingFenStyle = PingfenStyleWater;
|
|
btnIndex = 0;
|
|
|
|
}
|
|
break;
|
|
|
|
case WEISHICELL:
|
|
{
|
|
pop.titles = self.weiShiArr;
|
|
pop.fenArr = self.fenArr1;
|
|
self.pingFenStyle = PingfenStyleFeed;
|
|
btnIndex = 1;
|
|
}
|
|
break;
|
|
|
|
case JIANAKANGCELL:
|
|
{
|
|
pop.titles = self.jianKangArr;
|
|
self.pingFenStyle = PingfenStyleHealth;
|
|
pop.fenArr = self.fenArr2;
|
|
btnIndex = 2;
|
|
|
|
}
|
|
break;
|
|
|
|
default:
|
|
break;
|
|
}
|
|
|
|
DXPopover *popover = [DXPopover popover];
|
|
self.popover = popover;
|
|
|
|
popover.arrowSize = CGSizeMake(0.0,0.0);
|
|
|
|
|
|
[popover showAtVIew:btn.superview withNoArrowContentView:pop inView:self.tableView atBtnIndex: btnIndex addCellH:70];
|
|
|
|
}
|
|
|
|
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
|
|
|
|
|
|
if (indexPath.row ==0) {
|
|
|
|
return 50;
|
|
|
|
}else if (indexPath.row ==4){
|
|
|
|
return 120;
|
|
|
|
}else if (indexPath.row ==5){
|
|
|
|
return 50;
|
|
|
|
}else{
|
|
|
|
// return (viewFrame.size.height - 120 - 50 -64)/3 ;
|
|
|
|
return 70 ;
|
|
}
|
|
|
|
|
|
}
|
|
|
|
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
|
|
|
|
[tableView deselectRowAtIndexPath:indexPath animated:YES];
|
|
|
|
if ( indexPath.row ==4 ) {
|
|
BaoGaoViewThirdCell *cell =[self viewWithTag:JIANYICELL];
|
|
[cell.jianYIField resignFirstResponder];
|
|
return;
|
|
|
|
}
|
|
|
|
if (indexPath.row == 5 || indexPath.row ==0) {
|
|
// 点击时kongcell return
|
|
return;
|
|
|
|
}
|
|
|
|
BaoGaoViewSecondCell *cell = [tableView cellForRowAtIndexPath:indexPath];
|
|
|
|
// for (BaoGaoViewSecondCell *cell in tableView.subviews) {
|
|
|
|
// NSIndexPath *index=[tableView indexPathForCell:cell];
|
|
|
|
// if (indexPath == index) {
|
|
|
|
BaoGaoDownView *pop=[[BaoGaoDownView alloc] init];
|
|
pop.frame = CGRectMake(0,0,CGRectGetWidth(cell.baoGaoBackView.frame), 160);
|
|
//pop.backgroundImage =image
|
|
pop.delegate = self;
|
|
|
|
|
|
switch (indexPath.row) {
|
|
|
|
case 1:
|
|
{
|
|
|
|
//水质
|
|
pop.titles = self.shuiZhiArr;
|
|
pop.fenArr = self.fenArr1;
|
|
self.pingFenStyle = PingfenStyleWater;
|
|
|
|
|
|
}
|
|
break;
|
|
|
|
case 2:
|
|
{
|
|
pop.titles = self.weiShiArr;
|
|
pop.fenArr = self.fenArr1;
|
|
self.pingFenStyle = PingfenStyleFeed;
|
|
|
|
}
|
|
break;
|
|
|
|
case 3:
|
|
{
|
|
pop.titles = self.jianKangArr;
|
|
self.pingFenStyle = PingfenStyleHealth;
|
|
pop.fenArr = self.fenArr2;
|
|
|
|
|
|
}
|
|
break;
|
|
|
|
default:
|
|
break;
|
|
}
|
|
|
|
DXPopover *popover = [DXPopover popover];
|
|
self.popover = popover;
|
|
|
|
popover.arrowSize = CGSizeMake(0.0,0.0);
|
|
|
|
//[popover showAtVIew:btn.superview withNoArrowContentView:pop inView:self.tableView atBtnIndex: btnIndex addCellH:70];
|
|
[popover showAtVIew:cell.baoGaoBackView withNoArrowContentView:pop
|
|
inView:tableView atIndex:indexPath addCellH:70];
|
|
|
|
// }
|
|
|
|
|
|
// }
|
|
|
|
}
|
|
|
|
#pragma mark - BaoGaoDownView delegate
|
|
|
|
|
|
-(void)didBaoGaoViewIndex:(NSIndexPath *)indexPath{
|
|
|
|
switch (self.pingFenStyle) {
|
|
|
|
case PingfenStyleWater:
|
|
{
|
|
self.selectShuiZhiIndex = indexPath;
|
|
|
|
}
|
|
break;
|
|
case PingfenStyleFeed:
|
|
{
|
|
self.selectWeiShiIndex = indexPath;
|
|
}
|
|
break;
|
|
case PingfenStyleHealth:
|
|
{
|
|
self.selectJianKangIndex = indexPath;
|
|
}
|
|
break;
|
|
|
|
default:
|
|
break;
|
|
}
|
|
|
|
[self.popover dismiss];
|
|
[self.tableView reloadData];
|
|
}
|
|
|
|
#pragma mark - 生成按钮事件
|
|
|
|
-(void)shengchengBtnClick{
|
|
|
|
|
|
|
|
BaoGaoViewSecondCell *cell1=[self viewWithTag:SHUIZHICELL_TAG];
|
|
BaoGaoViewSecondCell *cell2=[self viewWithTag:WEISHICELL_TAG];
|
|
BaoGaoViewSecondCell *cell3=[self viewWithTag:JIANAKANGCELL_TAG];
|
|
BaoGaoViewThirdCell *cell =[self viewWithTag:JIANYICELL];
|
|
|
|
if (cell.jianYIField.text.length >70) {
|
|
|
|
[self makeToast:@"喂养建议不能超过70字"];
|
|
return;
|
|
}
|
|
|
|
|
|
if ([cell.jianYIField.text isEqualToString:@"给顾客一些建议,让他们感受到您的专业和关怀。"] || cell.jianYIField.text.length ==0) {
|
|
|
|
[self makeToast:@"喂养建议不能为空"];
|
|
|
|
|
|
return;
|
|
}
|
|
|
|
// if (!self.selectShuiZhiIndex) {
|
|
//
|
|
// [self makeToast:@"请给水质评个分"];
|
|
// return ;
|
|
// }
|
|
//
|
|
// if (!self.selectWeiShiIndex) {
|
|
// [self makeToast:@"请给鱼儿喂食评分"];
|
|
// return;
|
|
// }
|
|
//
|
|
// if (!self.selectJianKangIndex) {
|
|
//
|
|
// [self makeToast:@"请给鱼儿健康状况评分"];
|
|
// return;
|
|
// }
|
|
|
|
NSString *index1= [cell1.fenLabel.text substringWithRange:NSMakeRange(0, cell1.fenLabel.text.length - 1)];
|
|
NSString *index2= [cell2.fenLabel.text substringWithRange:NSMakeRange(0, cell2.fenLabel.text.length - 1)];
|
|
NSString *index3= [cell3.fenLabel.text substringWithRange:NSMakeRange(0, cell3.fenLabel.text.length - 1)];
|
|
|
|
NSLog(@"%@%@%@",index1,index2,index3);
|
|
|
|
PingfenModel *PFMode1=[[PingfenModel alloc] init];
|
|
PFMode1.pingFenDesc = cell1.pingFenLabel.text;
|
|
PFMode1.pingFenNumber = index1;
|
|
PingfenModel *PFMode2=[[PingfenModel alloc] init];
|
|
PFMode2.pingFenDesc = cell2.pingFenLabel.text;
|
|
PFMode2.pingFenNumber = index2;
|
|
PingfenModel *PFMode3=[[PingfenModel alloc] init];
|
|
PFMode3.pingFenDesc = cell3.pingFenLabel.text;
|
|
PFMode3.pingFenNumber = index3;
|
|
NSArray *pingfenArr=@[PFMode1,PFMode2,PFMode3];
|
|
|
|
[self.baoGaoViewDelegate shengChengBaoGaoWith:index1 index2:index2 index3:index3 addSuggesture:cell.jianYIField.text addPingFenArr:pingfenArr];
|
|
|
|
}
|
|
|
|
#pragma mark--处理键盘
|
|
-(void)textViewDidBeginEditing:(UITextView *)textView{
|
|
//textView.text = @"";
|
|
}
|
|
-(void)textViewDidEndEditing:(UITextView *)textView{
|
|
BaoGaoViewThirdCell *cell =[self viewWithTag:JIANYICELL];
|
|
[cell.jianYIField resignFirstResponder];
|
|
|
|
}
|
|
|
|
-(BOOL)textViewShouldEndEditing:(UITextView *)textView{
|
|
BaoGaoViewThirdCell *cell =[self viewWithTag:JIANYICELL];
|
|
[cell.jianYIField resignFirstResponder];
|
|
return YES;
|
|
}
|
|
|
|
//
|
|
//-(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{
|
|
// [self hiddenKeybord];
|
|
//}
|
|
//-(void)hiddenKeybord{
|
|
// BaoGaoViewThirdCell *cell =[self viewWithTag:JIANYICELL];
|
|
// [cell.jianYIField resignFirstResponder];
|
|
//
|
|
//}
|
|
|
|
|
|
|
|
-(void)wifiviewkeyboardWillHide:(NSNotification *)notify{
|
|
|
|
// 键盘动画时间
|
|
double duration = [[notify.userInfo objectForKey:UIKeyboardAnimationDurationUserInfoKey] doubleValue];
|
|
|
|
//视图下沉恢复原状
|
|
[UIView animateWithDuration:duration animations:^{
|
|
self.frame = CGRectMake(0, 0, self.frame.size.width, self.frame.size.height);
|
|
}];
|
|
|
|
}
|
|
-(void)wifiviewkeyboradWillShow:(NSNotification*)notification{
|
|
|
|
// BaoGaoViewThirdCell *cell =[self viewWithTag:JIANYICELL];
|
|
|
|
CGRect keyboardFrame = [notification.userInfo[UIKeyboardFrameEndUserInfoKey] CGRectValue];
|
|
|
|
//CGRect fieldRect = [self convertRect:cell.jianYIField.bounds toView:self];
|
|
|
|
// CGFloat buttonMargin =(fieldRect.origin.y + field.size.height + 10);
|
|
|
|
CGFloat transformY = keyboardFrame.size.height;
|
|
// 取得键盘的动画时间,这样可以在视图上移的时候更连贯
|
|
double duration = [[notification.userInfo objectForKey:UIKeyboardAnimationDurationUserInfoKey] doubleValue];
|
|
[UIView animateWithDuration:duration animations:^{
|
|
|
|
if (keyboardFrame.origin.y < self.frame.size.height) {
|
|
self.transform = CGAffineTransformMakeTranslation(0,- transformY);
|
|
}else{
|
|
self.transform = CGAffineTransformMakeTranslation(0, 0);
|
|
}
|
|
}];
|
|
}
|
|
|
|
-(void)dealloc{
|
|
|
|
[[NSNotificationCenter defaultCenter] removeObserver:self name:UIKeyboardWillShowNotification object:nil];
|
|
[[NSNotificationCenter defaultCenter] removeObserver:self name:UIKeyboardWillHideNotification object:nil];
|
|
|
|
}
|
|
|
|
@end
|