JCGroupDescViewController.swift 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. //
  2. // JCGroupDescViewController.swift
  3. // JChat
  4. //
  5. // Created by deng on 2017/5/16.
  6. // Copyright © 2017年 HXHG. All rights reserved.
  7. //
  8. import UIKit
  9. import JMessage
  10. class JCGroupDescViewController: UIViewController {
  11. var group: JMSGGroup!
  12. override func viewDidLoad() {
  13. super.viewDidLoad()
  14. _init()
  15. descTextView.text = group.desc
  16. var count = 80 - (group.desc?.count ?? 0)
  17. count = count < 0 ? 0 : count
  18. tipLabel.text = "\(count)"
  19. descTextView.becomeFirstResponder()
  20. }
  21. private lazy var bgView: UIView = UIView(frame: CGRect(x: 0, y: 64, width: self.view.width, height: 120))
  22. private lazy var descTextView: UITextView = UITextView(frame: CGRect(x: 15, y: 15, width: self.view.width - 30, height: 90))
  23. private lazy var navRightButton: UIBarButtonItem = UIBarButtonItem(title: "完成", style: .plain, target: self, action: #selector(_saveSignature))
  24. fileprivate lazy var tipLabel: UILabel = UILabel(frame: CGRect(x: self.bgView.width - 15 - 50, y: self.bgView.height - 24, width: 50, height: 12))
  25. //MARK: - private func
  26. private func _init() {
  27. self.title = "群描述"
  28. automaticallyAdjustsScrollViewInsets = false;
  29. view.backgroundColor = UIColor(netHex: 0xe8edf3)
  30. bgView.backgroundColor = .white
  31. view.addSubview(bgView)
  32. descTextView.delegate = self
  33. descTextView.font = UIFont.systemFont(ofSize: 16)
  34. descTextView.backgroundColor = .white
  35. bgView.addSubview(descTextView)
  36. tipLabel.textColor = UIColor(netHex: 0x999999)
  37. tipLabel.font = UIFont.systemFont(ofSize: 12)
  38. tipLabel.textAlignment = .right
  39. bgView.addSubview(tipLabel)
  40. _setupNavigation()
  41. }
  42. private func _setupNavigation() {
  43. navigationItem.rightBarButtonItem = navRightButton
  44. }
  45. //MARK: - click func
  46. func _saveSignature() {
  47. descTextView.resignFirstResponder()
  48. let desc = descTextView.text!
  49. MBProgressHUD_JChat.showMessage(message: "修改中...", toView: view)
  50. var name: String? = group.name
  51. if name!.isEmpty {
  52. name = nil
  53. }
  54. JMSGGroup.updateGroupInfo(withGroupId: group.gid, name: name, desc: desc) { (result, error) in
  55. MBProgressHUD_JChat.hide(forView: self.view, animated: true)
  56. if error == nil {
  57. NotificationCenter.default.post(name: Notification.Name(rawValue: kUpdateGroupInfo), object: nil)
  58. self.navigationController?.popViewController(animated: true)
  59. } else {
  60. MBProgressHUD_JChat.show(text: "\(String.errorAlert(error! as NSError))", view: self.view)
  61. }
  62. }
  63. }
  64. }
  65. extension JCGroupDescViewController: UITextViewDelegate {
  66. func textViewDidChange(_ textView: UITextView) {
  67. textView.limitNonMarkedTextSize(80)
  68. let count = 80 - (nonMarkedText(textView)?.count ?? 0)
  69. tipLabel.text = "\(count)"
  70. }
  71. }