// // GroupNameModificationViewController.swift // Paiai_iOS // // Created by FFIB on 16/4/6. // Copyright © 2016年 FFIB. All rights reserved. // import UIKit import RxSwift import RxCocoa import PaiaiUIKit import PaiaiDataKit final class GroupNameModificationViewController: UIViewController { // MARK: Storyboard property @IBOutlet weak var textField: UITextField! @IBOutlet weak var saveButton: UIButton! var viewModel: GroupDetailViewModel! let disposeBag = DisposeBag() // MARK: view function override func viewDidLoad() { super.viewDidLoad() navigationItem.title = "群名称" setupTextFieldLeftView() bindTextFieldToSaveButton() } func setupTextFieldLeftView() { let leftView = UIView(frame: CGRect(x: 0, y: 0, width: 12, height: textField.width)) textField.leftView = leftView textField.leftViewMode = .always textField.placeholder = viewModel.item.value.group.group_name } func bindTextFieldToSaveButton() { textField.rx.text .map {!($0?.isEmpty)!} .bind(to: saveButton.rx.isEnabled) .disposed(by: disposeBag) } } extension GroupNameModificationViewController { @IBAction func saveName() { guard let text = textField.text, text.count <= 20 else { saveFailed() return } viewModel.changeName(name: text) } func saveFailed() { textField.resignFirstResponder() let alert = AlertController(title: "保存失败", message: "群名称不能超过20个字") alert.addAlertAction(AlertAction(title: "确定")) presentController(alert) } @IBAction func tapView() { textField.resignFirstResponder() } } extension GroupNameModificationViewController: NavigationBackViewController {} extension GroupNameModificationViewController: Storyboarded { static func instantiate() -> GroupNameModificationViewController { return UIStoryboard.groupDetail.instantiateViewController(type: GroupNameModificationViewController.self) } }