1

我是swift的初学者。我有

class A : UIViewController {
var textInput: UITextInput

init(textInput: UITextInput) {
    self.textInput = textInput
}

func getText() -> String() {
    /// Here I need to get the current text from textInput
}

}

如何得到它?请帮忙。提前致谢!!!!

4

4 回答 4

3

斯威夫特 3:

let start  = sender.beginningOfDocument
let end = sender.endOfDocument
let range = sender.textRange(from: start, to: end)!

let trimmedText = sender.text(in: range)
sender.replace(range, withText: "new text")
于 2017-01-22T14:43:05.333 回答
1

我知道了。

let start: UITextPosition  = self.textInput.beginningOfDocument
let end: UITextPosition = self.textInput.endOfDocument
let range: UITextRange = textInput!.textRangeFromPosition(start!, toPosition: end!)!
textInput!.textInRange(range!) // for get text
textInput.replaceRange(range!, withText: "some text") // to write text
于 2015-10-30T14:05:10.323 回答
0

您的textInput变量从未正确声明。在提出具体问题之前,您可能需要考虑学习更多通用的 Swift 实践。

的正确声明textInput如下所示:

class A : UIViewController {
    var textInput: UITextInput
于 2015-10-28T17:50:23.673 回答
0
import Foundation
import UIKit

public extension UITextInput {
    public var text: String {
        get { text(in: textRange(from: beginningOfDocument, to: endOfDocument)!) ?? "" }
        set(value) { replace(textRange(from: beginningOfDocument, to: endOfDocument)!, withText: value) }
    }
}
于 2019-12-24T02:56:34.153 回答