WFCUGeneralModifyViewController.m 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. //
  2. // GeneralModifyViewController.m
  3. // WildFireChat
  4. //
  5. // Created by heavyrain lee on 24/12/2017.
  6. // Copyright © 2017 WildFireChat. All rights reserved.
  7. //
  8. #import "WFCUGeneralModifyViewController.h"
  9. #import "MBProgressHUD.h"
  10. @interface WFCUGeneralModifyViewController () <UITextFieldDelegate>
  11. @property (nonatomic, strong)UITextField *textField;
  12. @end
  13. @implementation WFCUGeneralModifyViewController
  14. - (void)viewDidLoad {
  15. [super viewDidLoad];
  16. if(self.titleText) {
  17. [self setTitle:_titleText];
  18. }
  19. self.textField.text = self.defaultValue;
  20. self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"取消" style:UIBarButtonItemStyleDone target:self action:@selector(onCancel:)];
  21. self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"完成" style:UIBarButtonItemStyleDone target:self action:@selector(onDone:)];
  22. [self.view setBackgroundColor:[UIColor colorWithRed:232/255.f green:232/255.f blue:232/255.f alpha:1.f]];
  23. [self.textField becomeFirstResponder];
  24. }
  25. - (void)onCancel:(id)sender {
  26. [self.textField resignFirstResponder];
  27. [self.navigationController dismissViewControllerAnimated:YES completion:nil];
  28. }
  29. - (void)onDone:(id)sender {
  30. [self.textField resignFirstResponder];
  31. __weak typeof(self) ws = self;
  32. __block MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.view animated:YES];
  33. hud.label.text = @"修改中...";
  34. [hud showAnimated:YES];
  35. self.tryModify(self.textField.text, ^(BOOL success) {
  36. dispatch_async(dispatch_get_main_queue(), ^{
  37. [hud hideAnimated:NO];
  38. if(success) {
  39. [ws.navigationController dismissViewControllerAnimated:YES completion:nil];
  40. } else {
  41. hud = [MBProgressHUD showHUDAddedTo:ws.view animated:YES];
  42. hud.mode = MBProgressHUDModeText;
  43. hud.label.text = @"修改失败";
  44. hud.offset = CGPointMake(0.f, MBProgressMaxOffset);
  45. [hud hideAnimated:YES afterDelay:1.f];
  46. }
  47. });
  48. });
  49. }
  50. - (void)didReceiveMemoryWarning {
  51. [super didReceiveMemoryWarning];
  52. // Dispose of any resources that can be recreated.
  53. }
  54. - (UITextField *)textField {
  55. if(!_textField) {
  56. _textField = [[UITextField alloc] initWithFrame:CGRectMake(0, kStatusBarAndNavigationBarHeight + 20, [UIScreen mainScreen].bounds.size.width, 32)];
  57. _textField.borderStyle = UITextBorderStyleRoundedRect;
  58. _textField.clearButtonMode = UITextFieldViewModeAlways;
  59. _textField.delegate = self;
  60. [self.view addSubview:_textField];
  61. }
  62. return _textField;
  63. }
  64. - (BOOL)textFieldShouldReturn:(UITextField *)textField {
  65. [self onDone:textField];
  66. return YES;
  67. }
  68. @end