gpt4 book ai didi

ios - 停止删除 TextView 中的默认文本(Swift)

转载 作者:行者123 更新时间:2023-11-30 14:12:49 26 4
gpt4 key购买 nike

如果我有一个包含以下文本的 UITextView:

“请完成此发送...”

目的是允许用户编辑 TextView ,以便他们可以完成句子,我怎样才能使他们无法删除开始编辑之前存在的文本,即“请完成此发送” “?

更新:我已经能够使用户无法删除初始文本,但是有什么方法可以使他们无法在初始文本之前或内部键入?感谢到目前为止所有回答的人!

更新:已解决。为了阻止人们在字符串之前和内部进行编辑,我简单地添加了

if range.location == 0 {
return false
}

if (0 < range.location && range.location < count(string.utf16)) == true {
return false
}

到shouldChangeTextInRange函数。谢谢大家的帮助!

最佳答案

这样您就可以阻止用户删除初始文本:

import UIKit

class ViewController: UIViewController, UITextViewDelegate {

@IBOutlet weak var textV: UITextView!

override func viewDidLoad() {
super.viewDidLoad()
textV.text = "Please finish this sent" //Set your default text.
textV.delegate = self
}

func textView(textView: UITextView, shouldChangeTextInRange range: NSRange, replacementText text: String) -> Bool {

let char = text.cStringUsingEncoding(NSUTF8StringEncoding)!
let isBackSpace = strcmp(char, "\\b")

if (isBackSpace == -92) {
// If backspace is pressed this will call
if textV.text == "Please finish this sent" {
return false
}
}
return true
}
}

关于ios - 停止删除 TextView 中的默认文本(Swift),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31569457/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com