我希望光标位于特定位置。 我在图像中显示了我的要求。
let arbitraryValue: Int = 5
if let newPosition = txtroutine.position(from: txtroutine.beginningOfDocument, offset: arbitraryValue) {
txtroutine.selectedTextRange = txtroutine.textRange(from: newPosition, to: newPosition)
}
答案 0 :(得分:0)
您可以使用UITextField的leftView
属性根据您的要求设置位置:
//在textField
中添加12pt填充Swift 3.0:
textField.leftView = UIView(frame: CGRect(x: 0, y: 0, width: 12, height: 0))
textField.leftViewMode = .always
试试这个,随时发表评论。
答案 1 :(得分:0)
我有类似的东西,但我的代码是obj-c希望你能迅速做到,
获取光标的当前位置
- (NSInteger)cursorPosition
{
UITextRange *selectedRange = self.selectedTextRange;
UITextPosition *textPosition = selectedRange.start;
return [self offsetFromPosition:self.beginningOfDocument toPosition:textPosition];
}
//将光标设置在您的特定位置
- (void)setCursorPosition:(NSInteger)position
{
UITextPosition *textPosition = [self positionFromPosition:self.beginningOfDocument offset:position];
[self setSelectedTextRange:[self textRangeFromPosition:textPosition toPosition:textPosition]];
}
答案 2 :(得分:0)
您可以通过覆盖-textRectForBounds:来实现此目的。它只会改变文本的插入,即在你的情况下它的光标。 您需要为此继承UITextField。
@Entity
@Table(name = "roles")
public class Role extends AbstractPersistable<Long> {
private static final long serialVersionUID = 1L;
private String role;
public String getRole() {
return role;
}
public void setRole(String role) {
this.role = role;
}
public Role() {
}
public Role(String role) {
this.role = role;
}
}
您可以在任何地方使用此文本字段。