You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
171 lines
6.1 KiB
171 lines
6.1 KiB
// |
|
// FeedbackViewController.m |
|
// watch |
|
// |
|
// Created by xTT on 2017/7/13. |
|
// Copyright © 2017年 xTT. All rights reserved. |
|
// |
|
|
|
#import "FeedbackViewController.h" |
|
|
|
@interface FeedbackViewController ()<UITextViewDelegate> |
|
|
|
@property (strong, nonatomic) NSMutableDictionary *parameters; |
|
|
|
@end |
|
|
|
@implementation FeedbackViewController |
|
|
|
@synthesize myDataSource = _myDataSource; |
|
|
|
- (NSMutableArray *)myDataSource{ |
|
if (!_myDataSource) { |
|
_myDataSource = [[NSMutableArray alloc] initWithArray:@[@[@"邮箱"],@[@"反馈内容"]]]; |
|
} |
|
return _myDataSource; |
|
} |
|
|
|
- (NSMutableDictionary *)parameters{ |
|
if (!_parameters) { |
|
_parameters = [NSMutableDictionary dictionary]; |
|
} |
|
return _parameters; |
|
} |
|
|
|
- (void)viewDidLoad { |
|
[super viewDidLoad]; |
|
// Do any additional setup after loading the view. |
|
} |
|
|
|
- (BOOL) validateEmail:(NSString *)email |
|
{ |
|
NSString *emailRegex = @"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}"; |
|
NSPredicate *emailTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", emailRegex]; |
|
return [emailTest evaluateWithObject:email]; |
|
} |
|
|
|
- (IBAction)rightBarItemClick:(UIBarButtonItem *)sender{ |
|
if ([self.parameters[@"email"] length] == 0) { |
|
[SVProgressHUD showErrorWithStatus:@"请输入您的邮箱"]; |
|
}else if(![self validateEmail:self.parameters[@"email"]]){ |
|
[SVProgressHUD showErrorWithStatus:@"请输入正确的邮箱"]; |
|
}else if ([self.parameters[@"content"] length] == 0){ |
|
[SVProgressHUD showErrorWithStatus:@"请输入您的宝贵意见"]; |
|
}else if ([self.parameters[@"content"] length] > 500){ |
|
[SVProgressHUD showErrorWithStatus:@"反馈意见不能超过500字"]; |
|
}else{ |
|
[xMyHttp URL:@"getway/feedback" |
|
method:@"POST" parameters:self.parameters |
|
success:^(NSURLSessionDataTask *task, id responseObject) |
|
{ |
|
if ([responseObject[@"code"] intValue] == HTTP_SUCCESS) { |
|
[self goBack:sender]; |
|
} |
|
} failure:^(NSURLSessionDataTask *task, NSError *error) {}]; |
|
} |
|
} |
|
|
|
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{ |
|
NSString *title = self.myDataSource[indexPath.section][indexPath.row]; |
|
if ([title hasPrefix:@"反馈内容"]){ |
|
return 160; |
|
} |
|
return 49; |
|
} |
|
|
|
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ |
|
NSString *title = self.myDataSource[indexPath.section][indexPath.row]; |
|
if ([title hasPrefix:@"邮箱"]) { |
|
TextFieldCell *cell = [tableView dequeueReusableCellWithIdentifier:@"TextFieldCell"]; |
|
if (!cell) { |
|
cell = [[TextFieldCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:@"TextFieldCell"]; |
|
cell.accessoryType = UITableViewCellAccessoryNone; |
|
cell.textField.placeholder = @"请输入您的邮箱"; |
|
cell.textField.keyboardType = UIKeyboardTypeEmailAddress; |
|
} |
|
cell.textLabel.text = title; |
|
WEAKSELF |
|
cell.block = ^(NSString *text, TextFieldCell *blockCell){ |
|
[weakSelf.parameters setObject:text forKey:@"email"]; |
|
}; |
|
return cell; |
|
}else if([title isEqualToString:@"反馈内容"]){ |
|
baseCell *cell = [tableView dequeueReusableCellWithIdentifier:@"baseCell"]; |
|
if (!cell) { |
|
cell = [[baseCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"baseCell"]; |
|
cell.accessoryType = UITableViewCellAccessoryNone; |
|
|
|
UITextView *textView = [[UITextView alloc] init]; |
|
textView.delegate = self; |
|
textView.backgroundColor = [UIColor whiteColor]; |
|
[cell.contentView addSubview:textView]; |
|
[textView mas_makeConstraints:^(MASConstraintMaker *make) { |
|
make.edges.equalTo(cell.contentView); |
|
}]; |
|
|
|
UILabel *label = [[UILabel alloc] init]; |
|
label.tag = 1000; |
|
label.textColor = [UIColor colorWithWhite:0.5 alpha:0.4]; |
|
label.font = [UIFont systemFontOfSize:16]; |
|
[textView addSubview:label]; |
|
[label mas_makeConstraints:^(MASConstraintMaker *make) { |
|
make.top.left.equalTo(textView).offset(5); |
|
}]; |
|
label.text = @"请提出您的宝贵意见"; |
|
} |
|
return cell; |
|
} |
|
return nil; |
|
} |
|
|
|
- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section{ |
|
if (section == self.myDataSource.count - 1) { |
|
return 10 + 44 + 10; |
|
} |
|
return [super tableView:tableView heightForFooterInSection:section]; |
|
} |
|
|
|
- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section{ |
|
UIView *view = [[UIView alloc] initWithFrame:CGRectZero]; |
|
if (section == self.myDataSource.count - 1) { |
|
UIButton *btn = [[UIButton alloc]initWithFrame:CGRectMake(14, 10, |
|
SWIDTH-28, 44)]; |
|
[btn setTitle:@"提交" forState:UIControlStateNormal]; |
|
[btn setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal]; |
|
[btn setBackgroundColor:mainColor]; |
|
[btn addTarget:self action:@selector(rightBarItemClick:) forControlEvents:UIControlEventTouchUpInside]; |
|
btn.layer.cornerRadius = 3; |
|
btn.layer.masksToBounds = YES; |
|
|
|
[view addSubview:btn]; |
|
} |
|
return view; |
|
} |
|
|
|
- (void)textViewDidChange:(UITextView *)textView{ |
|
UILabel *lable = [textView viewWithTag:1000]; |
|
if (textView.text.length > 0) { |
|
lable.hidden = YES; |
|
}else{ |
|
lable.hidden = NO; |
|
} |
|
[self.parameters setObject:textView.text forKey:@"content"]; |
|
} |
|
|
|
|
|
- (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
|
|
|