|
//
// 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)
}
}
|