Commit a293c182 authored by David黄金龙's avatar David黄金龙

赴港计划书 添加输入提示

parent 51c6d726
......@@ -41,6 +41,9 @@ class YHHKPlanItemView: UIView {
view.textColor = UIColor.mainTextColor
view.font = UIFont.PFSC_R(ofSize: 14)
view.backgroundColor = .clear
view.contentInset = UIEdgeInsets(top: 0, left: 0, bottom: 0, right: 0)
// view.backgroundColor = .red
return view
}()
......@@ -67,7 +70,20 @@ class YHHKPlanItemView: UIView {
updateUI()
}
}
let holdView : UIView = UIView()
//提示文字
var tipsTxt : String = "请输入,300字内"
var maxNumbler : Int = 300
//提示lable
private lazy var tipsLable : UILabel = {
let lable = UILabel(text: tipsTxt)
lable.textColor = UIColor.yhGreyColor //#94A3B8
lable.font = UIFont.PFSC_R(ofSize: 14)
return lable
}()
}
private extension YHHKPlanItemView {
......@@ -145,6 +161,14 @@ private extension YHHKPlanItemView {
}
myTextView.delegate = self
// myTextView.wrapToContent()
subHoldView.addSubview(tipsLable)
tipsLable.snp.makeConstraints { make in
make.top.equalTo(myTextView.snp.top).offset(8)
make.left.equalTo(myTextView.snp.left).offset(4)
make.height.equalTo(17)
}
}
@objc func tapButton(gestureRecognizer:UITapGestureRecognizer) {
......@@ -184,12 +208,15 @@ private extension YHHKPlanItemView {
myTextView.wrapToContent()
}
var number = 100
if model.type == .planOther {
number = 500
maxNumbler = 500
tipsTxt = "请输入,500字内"
tipsLable.text = tipsTxt
}
numberLabel.text = myTextView.text.count.string + "/\(number)"
if myTextView.text.count > number {
numberLabel.text = myTextView.text.count.string + "/\(maxNumbler)"
if myTextView.text.count > maxNumbler {
numberLabel.textColor = .failColor
} else {
numberLabel.textColor = UIColor.placeHolderColor
......@@ -200,35 +227,60 @@ private extension YHHKPlanItemView {
} else {
line.isHidden = false
}
if model.content.count > 0 {
tipsLable.isHidden = true
} else {
if model.canEditFlag {
tipsLable.isHidden = false
} else {
tipsLable.isHidden = true
}
}
}
}
extension YHHKPlanItemView : UITextViewDelegate {
func textView(_ textView: UITextView, shouldChangeTextIn range: NSRange, replacementText text: String) -> Bool {
if text.isEmpty {
return true
}
let newLength = (textView.text as NSString).length + text.count - range.length
if dataMode?.type == .planOther {
return newLength <= 500
return newLength <= maxNumbler
}
return newLength <= 100
return newLength <= maxNumbler
}
func textViewDidChange(_ textView: UITextView) {
guard let model = dataMode else { return }
guard let text = textView.text else { return }
model.content = text
var number = 100
if model.type == .planOther {
number = 500
}
numberLabel.text = myTextView.text.count.string + "/\(number)"
if myTextView.text.count > number {
// var number = 300
// if model.type == .planOther {
// number = maxNumbler
// }
numberLabel.text = myTextView.text.count.string + "/\(maxNumbler)"
if myTextView.text.count > maxNumbler {
numberLabel.textColor = .failColor
} else {
numberLabel.textColor = UIColor.placeHolderColor
}
if text.count > 0 {
tipsLable.isHidden = true
} else {
if model.canEditFlag {
tipsLable.isHidden = false
} else {
tipsLable.isHidden = true
}
}
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment