如何将光标移动到Swift中UITextField的开头?

时间:2016-01-28 03:38:29

标签: ios swift uitextfield

我已经多次看过这个问题,但每个答案似乎都写在客观c中,我不知道也不知道如何转换为Swift。

我有一个文本字段,我希望用户输入百分比。 我有它,以便当他们开始编辑文本框时,占位符文本消失并替换为百分号。

我希望此百分号始终保持在输入的末尾。我似乎无法弄清楚如何将光标移回文本框的开头来实现这一目标。

这是我的开始编辑操作的代码(这包括另一个文本框,用户输入一个美元金额,但美元符号首先出现,这没什么大不了的)

    @IBAction func textBoxBeginEditing(sender: UITextField) {
    // Dismiss keyboard if the main view is tapped
    tapRecognizer.addTarget(self, action: "didTapView")
    view.addGestureRecognizer(tapRecognizer)

    // If there's placeholder text, remove it and change text color to black
    if (sender.textColor == UIColor.lightGrayColor()) {
        sender.text = nil
        sender.textColor = UIColor.blackColor()
    }

    // Force the keyboard to be a number pad
    sender.keyboardType = UIKeyboardType.NumberPad

    // Set up symbols in text boxes
    if (sender == deductibleTextBox) {
        sender.text = "$"
    }
    if (sender == percentageTextBox) {
        sender.text = "%"

        // This part doesn't do anything... Need a solution
        let desiredPosition = sender.beginningOfDocument
        sender.selectedTextRange = sender.textRangeFromPosition(desiredPosition, toPosition: desiredPosition)

    }
}

最后一点是我从互联网上寻求帮助的全部内容。我正在创建的这个应用程序一直是iOS学习曲线,所以如果这是一个愚蠢的问题我很抱歉。

1 个答案:

答案 0 :(得分:1)

let newPosition = textView.beginningOfDocument

textView.selectedTextRange = textView.textRangeFromPosition(newPosition, toPosition: newPosition)

在这种情况下,我们得到了textview的开始,然后将选定的两者都设置为开始。