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

时间:2015-07-01 08:13:18

标签: ios objective-c swift uitextfield

我有一点问题,我想将光标移动到Swift中Xcode的UITextField中。 默认情况下,它完全在左侧,并不是很好。 谢谢。

2 个答案:

答案 0 :(得分:0)

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

控制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)];

答案 1 :(得分: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,宽度,高度)。