//
|
// AddTextView.swift
|
// BrokerDriver
|
//
|
// Created by 无故事王国 on 2023/5/4.
|
//
|
|
import UIKit
|
import QMUIKit
|
import RxSwift
|
|
class AddTextView: UIView,JQNibView{
|
@IBOutlet weak var textView: QMUITextView!
|
@IBOutlet weak var view_container: UIView!
|
private var successClouse:((String)->Void)?
|
private var disposeBag:DisposeBag!
|
@IBOutlet weak var centerXCons: NSLayoutConstraint!
|
|
override func awakeFromNib() {
|
super.awakeFromNib()
|
alpha = 0
|
view_container.transform = CGAffineTransform(scaleX: 0.1, y: 0.1)
|
disposeBag = DisposeBag()
|
layoutIfNeeded()
|
|
NotificationCenter.default.rx.notification(UIControl.keyboardWillShowNotification, object: nil).subscribe(onNext: {noti in
|
if let obj = noti.userInfo{
|
let duration = obj[UIResponder.keyboardAnimationDurationUserInfoKey] as! CGFloat
|
self.layoutIfNeeded()
|
UIView.animate(withDuration:duration) {
|
self.centerXCons.constant = -50
|
self.layoutIfNeeded()
|
}
|
}
|
}).disposed(by: disposeBag)
|
|
NotificationCenter.default.rx.notification(UIControl.keyboardWillHideNotification, object: nil).subscribe(onNext: {noti in
|
if let obj = noti.userInfo{
|
let duration = obj[UIResponder.keyboardAnimationDurationUserInfoKey] as! CGFloat
|
self.layoutIfNeeded()
|
UIView.animate(withDuration:duration) {
|
self.centerXCons.constant = 0
|
self.layoutIfNeeded()
|
}
|
}
|
}).disposed(by: disposeBag)
|
}
|
|
static func show(type:TextType,successClouse:@escaping (String)->Void){
|
let pickerView = AddTextView.jq_loadNibView()
|
pickerView.successClouse = successClouse
|
pickerView.frame = screnDelegate?.window?.frame ?? .zero
|
if type == .note{
|
pickerView.textView.placeholder = "Add note information"
|
}else{
|
pickerView.textView.placeholder = "Add trouble information"
|
}
|
screnDelegate?.window?.addSubview(pickerView)
|
UIView.animate(withDuration: 0.4) {
|
pickerView.alpha = 1
|
pickerView.view_container.transform = CGAffineTransform(scaleX: 1.0, y: 1.0)
|
pickerView.layoutIfNeeded()
|
}
|
}
|
|
@IBAction func closeAction(_ sender: UIButton) {
|
UIView.animate(withDuration: 0.5) {[weak self] () in
|
self?.alpha = 0
|
self?.view_container.transform = CGAffineTransform(scaleX: 0.1, y: 0.1)
|
} completion: { _ in
|
self.removeFromSuperview()
|
}
|
}
|
|
@IBAction func submitAction(_ sender: UIButton) {
|
guard !textView.text.isEmpty else {
|
alert(msg: "Plase input content");return
|
}
|
UIView.animate(withDuration: 0.5) {[weak self] () in
|
self?.alpha = 0
|
self?.view_container.transform = CGAffineTransform(scaleX: 0.1, y: 0.1)
|
} completion: { _ in
|
self.successClouse?(self.textView.text)
|
self.removeFromSuperview()
|
}
|
}
|
}
|