我正在使用 JSQMessages 构建一个聊天应用程序。我试图通过覆盖 deleteBackward() 函数来关闭 UITextView 元素中的“退格”。我可以破解我想避免的 JSQ 框架核心,并且我尝试过强制向下转换,但这也不起作用。如何覆盖在当前类 (JSQMessagesViewController) 的树深处引用的类 (UITextView) 实例的函数。
这是代码的要点:
在我的 ChatViewController.swift 文件中
class ChatViewController: JSQMessagesViewController, UICollectionViewDataSource, UIActionSheetDelegate, UIImagePickerControllerDelegate, UINavigationControllerDelegate {
....
override func viewDidLoad() {
super.viewDidLoad()
var user = PFUser.currentUser()
self.senderId = user.objectId
self.senderDisplayName = user[PF_USER_FULLNAME] as! String
//here's the important line
let base = self.inputToolbar.contentView.textView
let newtexview = base as! UITextViewNB
.....
}
在我的keyboard.swift文件中
class UITextViewNB: UITextView {
override func deleteBackward() {
// blank because I just want to shut it off
}
}
我显然在概念上遗漏了一些东西。