WFCUGeneralModifyViewController.m 2.8 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. #import "WFCUConfigManager.h"
  11. @interface WFCUGeneralModifyViewController () <UITextFieldDelegate>
  12. @property (nonatomic, strong)UITextField *textField;
  13. @end
  14. @implementation WFCUGeneralModifyViewController
  15. - (void)viewDidLoad {
  16. [super viewDidLoad];
  17. if(self.titleText) {
  18. [self setTitle:_titleText];
  19. }
  20. self.textField.text = self.defaultValue;
  21. self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:WFCString(@"Cancel") style:UIBarButtonItemStyleDone target:self action:@selector(onCancel:)];
  22. self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:WFCString(@"Done") style:UIBarButtonItemStyleDone target:self action:@selector(onDone:)];
  23. self.view.backgroundColor = [WFCUConfigManager globalManager].backgroudColor;
  24. [self.textField becomeFirstResponder];
  25. }
  26. - (void)onCancel:(id)sender {
  27. [self.textField resignFirstResponder];
  28. [self.navigationController dismissViewControllerAnimated:YES completion:nil];
  29. }
  30. - (void)onDone:(id)sender {
  31. [self.textField resignFirstResponder];
  32. __weak typeof(self) ws = self;
  33. __block MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.view animated:YES];
  34. hud.label.text = WFCString(@"Updating");
  35. [hud showAnimated:YES];
  36. self.tryModify(self.textField.text, ^(BOOL success) {
  37. dispatch_async(dispatch_get_main_queue(), ^{
  38. [hud hideAnimated:NO];
  39. if(success) {
  40. [ws.navigationController dismissViewControllerAnimated:YES completion:nil];
  41. } else {
  42. hud = [MBProgressHUD showHUDAddedTo:ws.view animated:YES];
  43. hud.mode = MBProgressHUDModeText;
  44. hud.label.text = WFCString(@"UpdateFailure");
  45. hud.offset = CGPointMake(0.f, MBProgressMaxOffset);
  46. [hud hideAnimated:YES afterDelay:1.f];
  47. }
  48. });
  49. });
  50. }
  51. - (void)didReceiveMemoryWarning {
  52. [super didReceiveMemoryWarning];
  53. // Dispose of any resources that can be recreated.
  54. }
  55. - (UITextField *)textField {
  56. if(!_textField) {
  57. _textField = [[UITextField alloc] initWithFrame:CGRectMake(0, kStatusBarAndNavigationBarHeight + 20, [UIScreen mainScreen].bounds.size.width, 32)];
  58. _textField.borderStyle = UITextBorderStyleRoundedRect;
  59. _textField.clearButtonMode = UITextFieldViewModeAlways;
  60. _textField.delegate = self;
  61. [self.view addSubview:_textField];
  62. }
  63. return _textField;
  64. }
  65. - (BOOL)textFieldShouldReturn:(UITextField *)textField {
  66. [self onDone:textField];
  67. return YES;
  68. }
  69. @end