override func textView(textView: UITextView, shouldChangeTextInRange range: NSRange, replacementText text: String) -> Bool {
label.text = textView.text
return true;
}
このコードでは、私は背後の人物のようです。UITextViewでの入力中にUILabelを更新する
override func textView(textView: UITextView, shouldChangeTextInRange range: NSRange, replacementText text: String) -> Bool {
label.text = textView.text
return true;
}
このコードでは、私は背後の人物のようです。UITextViewでの入力中にUILabelを更新する
shouldChangeTextInRange
の前にと呼びます。テキストフィールドのテキスト値が変更されます。
代わりtextViewDidChangeでコードを入れてみてください:
func textViewDidChange(textView: UITextView) {
label.text = textView.text
}
前のtextViewのテキストを設定しています。試してみてください。
override func textView(textView: UITextView, shouldChangeTextInRange range: NSRange, replacementText text: String) -> Bool {
label.text = text
return true;
}
のTextViewの新しいテキストが伝播される前に、このメソッドが呼び出されるよう。
あなたがテキストを入力してもらうためにNSString
replacingOccurrences(of:with:)
を使用することができ、この
ようSwift2
func textView(textView: UITextView, shouldChangeTextInRange range: NSRange, replacementText text: String) -> Bool {
let originText = textView.text as NSString
let replacingText = originText.stringByReplacingCharactersInRange(range, withString: text)
label.text = replacingText
return true
}
Swift3
func textView(_ textView: UITextView, shouldChangeTextIn range: NSRange, replacementText text: String) -> Bool {
let originText = textView.text as NSString
let replacingText = originText.replacingCharacters(in: range, with: text)
label.text = replacingText
return true
}