我查看了这个答案,很有帮助,但没有得到我想要的内容:Getting and Setting Cursor Position of UITextField and UITextView in Swift。
在属性检查器中,我将Placeholder设置为" ____ First Name",它修复了文本的左对齐,因为它向右移动了一点。但我认为这不是正确的做法。另外,我没有从上面的答案中得到光标位置说明。
func textView(_ textView: UITextView, shouldInteractWith URL: URL, in characterRange: NSRange, shouldChangeTextIn range: NSRange, replacementText text: String) -> Bool
{
let arbitraryValue: Int = 5
if let newPosition = textView.position(from: textView.beginningOfDocument, offset: arbitraryValue) {
textView.selectedTextRange = textView.textRange(from: newPosition, to: newPosition)
// ....
}
}
事情是甚至在某种程度上我想出来让它工作,光标向右移动5个字符。当我删除文本时,光标移回左角。
但我真正想要的是整个textField向右移动,以便它不像上面那样被CornerRadius覆盖。
答案 0 :(得分:2)
您可以更改文本字段本身的填充。
斯威夫特: //Changes the text padding
override func textRect(forBounds bounds: CGRect) -> CGRect {
return UIEdgeInsetsInsetRect(bounds, UIEdgeInsetsMake(0, 15, 0, 15))
}
//Changes the placeholder
override func placeholderRect(forBounds bounds: CGRect) -> CGRect {
return UIEdgeInsetsInsetRect(bounds, UIEdgeInsetsMake(0, 15, 0, 15))
}
答案 1 :(得分:0)