Ios UITextView剩余字符
如何为Ios UITextView剩余字符,ios,swift,uitextview,uitextviewdelegate,Ios,Swift,Uitextview,Uitextviewdelegate,如何为UITextView设置UILabel上剩余的字符 我已经为UITextField执行了此操作,但相同的代码不起作用 这就是我尝试过的: func textView(textView: UITextView, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool { if string == "" { if
UITextView
设置UILabel
上剩余的字符
我已经为UITextField
执行了此操作,但相同的代码不起作用
这就是我尝试过的:
func textView(textView: UITextView, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool
{
if string == ""
{
if plainTextView.text!.characters.count == 0
{
charCount = 0
countLabel.text = String(format: "%i Characters Left", maxLength - charCount)
return false
}
charCount = (plainTextView.text!.characters.count - 1)
countLabel.text = String(format: "%i Characters Left", maxLength - charCount)
return true
}
else
{
charCount = (plainTextView.text!.characters.count + 1)
countLabel.text = String(format: "%i Characters Left", maxLength - charCount)
if charCount >= maxLength + 1
{
charCount = maxLength
countLabel.text = String(format: "%i Characters Left", maxLength - charCount)
return false;
}
}
return true
}
有什么建议吗?试试这个
import UIKit
class ViewController: UITextViewDelegate {
let maxLenghth = 200
func textViewDidChange(_ textView: UITextView) {
countLabel.text = "\(maxLength - textView.text.count)"
}
func textView(_ textView: UITextView, shouldChangeTextIn range: NSRange, replacementText text: String) -> Bool {
return textView.text.count + (text.count - range.length) <= maxLength
}
}
导入UIKit
类ViewController:UITextViewDelegate{
设maxLenghth=200
func textViewDidChange(textView:UITextView){
countLabel.text=“\(maxLength-textView.text.count)”
}
func textView(textView:UITextView,shouldChangeTextIn范围:NSRange,replacementText:String)->Bool{
返回textView.text.count+(text.count-range.length)Swift 5
extension AddProperty2ViewController: UITextViewDelegate {
func textViewDidChange(_ textView: UITextView) {
p_summary_line_textview.text = "\(5000 - textView.text.count)"
}
func textView(_ textView: UITextView, shouldChangeTextIn range: NSRange, replacementText text: String) -> Bool {
return textView.text.count + (text.count - range.length) <= 5000
}
}
扩展插件AddProperty2ViewController:UITextViewDelegate{
func textViewDidChange(textView:UITextView){
p_summary_line_textview.text=“\(5000-textview.text.count)”
}
func textView(textView:UITextView,shouldChangeTextIn范围:NSRange,replacementText:String)->Bool{
返回textView.text.count+(text.count-range.length)func textViewDidBeginEditing(\utextView:UITextView){
收缩文本()
}
func textViewDidChange(textView:UITextView){
收缩文本()
}
func textViewDidEndEditing(uTEXTVIEW:UITextView){
收缩文本()
}
func收缩文本(){
sendButton.isEnabled=reviewTextField.text==“”?false:true
var text=“”
变量计数器=0
如果reviewTextField.text.count>limit{
reviewTextField.text.forEach{
如果计数器<极限{
计数器+=1
text.append($0)
}否则{
返回
}
}
reviewTextField.text=文本
}
counterLabel.text=“\(reviewTextField.text.count)/\(限制)”
}
请提供您拥有的代码tried@user4261201-更新的问题。你的最大字符数限制是多少?@Anbu.Karthik最大字符数限制是200。@Learn2Code-用这个遗嘱,我没有深入了解,检查这个
func textViewDidBeginEditing(_ textView: UITextView) {
shrinkText()
}
func textViewDidChange(_ textView: UITextView) {
shrinkText()
}
func textViewDidEndEditing(_ textView: UITextView) {
shrinkText()
}
func shrinkText() {
sendButton.isEnabled = reviewTextField.text == "" ? false : true
var text = ""
var counter = 0
if reviewTextField.text.count > limit {
reviewTextField.text.forEach {
if counter < limit {
counter += 1
text.append($0)
} else {
return
}
}
reviewTextField.text = text
}
counterLabel.text = "\(reviewTextField.text.count) / \(limit)"
}