iMessage扩展中未调用textView()方法

时间:2018-08-09 13:59:55

标签: ios swift xcode uitextview imessage-extension

我的iMessage扩展名有一个UITextView,当用户按下返回键时,需要将其FirstResponder辞职。但是我无法获得触发它的方法。

import UIKit
import Messages

class MessagesViewController: MSMessagesAppViewController, UITextFieldDelegate, UITextViewDelegate {

    @IBOutlet weak var TextArea: UITextView!

    override func viewDidLoad() {
        super.viewDidLoad()

        self.TextArea.delegate = self
        self.KeyField.delegate = self
    }

    func textView(textView: UITextView, shouldChangeTextInRange range: NSRange, replacementText text: String) -> Bool {
        if (text == "\n") {
            textView.resignFirstResponder()
            return false
        }
        return true
    }
}

我在做什么错了?

2 个答案:

答案 0 :(得分:2)

使用快速更新的UITextViewDelegate方法。

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

希望这会有所帮助

答案 1 :(得分:1)

您忘记了参数标签_

func textView(_ textView: UITextView, 
   shouldChangeTextIn range: NSRange, 
    replacementText text: String) -> Bool

Docs