我已经多次看过这个问题,但每个答案似乎都写在客观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学习曲线,所以如果这是一个愚蠢的问题我很抱歉。
答案 0 :(得分:1)
let newPosition = textView.beginningOfDocument
textView.selectedTextRange = textView.textRangeFromPosition(newPosition, toPosition: newPosition)
在这种情况下,我们得到了textview的开始,然后将选定的两者都设置为开始。