繁体   English   中英

如何在 Swift 中的 UITextField Xcode 中设置光标位置

[英]How to set position of cursor in UITextField Xcode in Swift

我有一个小问题,我想在 Swift 的 Xcode 中的 UITextField 中向右移动光标。 默认情况下,它完全在左侧,不是很好。 谢谢你。

您是否尝试过以下解决方案?

在 UITextField 中控制光标位置很复杂,因为输入框和计算位置涉及很多抽象。 然而,这当然是可能的。 您可以使用成员函数

setSelectedTextRange:

这是一个函数,它接受一个范围并选择该范围内的文本。 如果您只想将光标放在某个索引处,只需使用长度为 0 的范围:

+ (void)selectTextForInput:(UITextField *)input atRange:(NSRange)range {
    UITextPosition *start = [input positionFromPosition:[input beginningOfDocument] 
                                                 offset:range.location];
    UITextPosition *end = [input positionFromPosition:start
                                               offset:range.length];
    [input setSelectedTextRange:[input textRangeFromPosition:start toPosition:end]];
}

例如,要将光标放在 UITextField 输入中的 idx 处:

[Helpers selectTextForInput:input 
                        atRange:NSMakeRange(idx, 0)];

尝试这个:

func setCursor() {
    let paddingView = UIView(frame:CGRectMake(0, 0, 50, 44))
    textfield1.leftView = paddingView;
    texfield1.leftViewMode = UITextFieldViewMode.Always
    textfield1.placeholder = "Full Name"
}

您可以根据需要调整填充视图(x,y,宽度,高度)的位置。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM