将 uitextfield 3 space 中的光标向右移动
Move cursor in uitextfield 3 space to the right
当我点击 uitextfield 时,如何在 uitextfield 中向右移动并显示光标 3 个空格。我制作了 uitextfield 圆角并将约束从 main.storyboard 左移“10”,当我单击 uitextfield 时,光标显示在 uitextfield 之外。下面是 swift 代码。
@IBOutlet weak var txtSearch: UITextField!
override func viewDidLoad() {
super.viewDidLoad()
txtSearch.layer.cornerRadius = 22
txtSearch.clipsToBounds = true
txtSearch.layer.borderWidth = 2.0
txtSearch.borderStyle = .none
}
要实现这一点,您需要通过子class标准对象创建自定义 UITextField,然后覆盖设置内容边界(即插入)的函数。您需要以点而不是字符为单位进行工作,因此请使用插入变量来获得您想要的外观。
class MyTextField: UITextField {
var insetX: CGFloat = 20
var insetY: CGFloat = 0
override func textRect(forBounds bounds: CGRect) -> CGRect {
return bounds.insetBy(dx: insetX , dy: insetY)
}
override func editingRect(forBounds bounds: CGRect) -> CGRect {
return bounds.insetBy(dx: insetX , dy: insetY)
}
}
您需要将 IB 中文本字段的 class 设置为您的自定义 class。
当我点击 uitextfield 时,如何在 uitextfield 中向右移动并显示光标 3 个空格。我制作了 uitextfield 圆角并将约束从 main.storyboard 左移“10”,当我单击 uitextfield 时,光标显示在 uitextfield 之外。下面是 swift 代码。
@IBOutlet weak var txtSearch: UITextField!
override func viewDidLoad() {
super.viewDidLoad()
txtSearch.layer.cornerRadius = 22
txtSearch.clipsToBounds = true
txtSearch.layer.borderWidth = 2.0
txtSearch.borderStyle = .none
}
要实现这一点,您需要通过子class标准对象创建自定义 UITextField,然后覆盖设置内容边界(即插入)的函数。您需要以点而不是字符为单位进行工作,因此请使用插入变量来获得您想要的外观。
class MyTextField: UITextField {
var insetX: CGFloat = 20
var insetY: CGFloat = 0
override func textRect(forBounds bounds: CGRect) -> CGRect {
return bounds.insetBy(dx: insetX , dy: insetY)
}
override func editingRect(forBounds bounds: CGRect) -> CGRect {
return bounds.insetBy(dx: insetX , dy: insetY)
}
}
您需要将 IB 中文本字段的 class 设置为您的自定义 class。