2016-11-18 62 views
0

假设我有一个固定大小的UITextfield,我想从第n个字符开始显示相关的文本。如何设置显示在UITextField中的文本的'开始位置'?

如:

普通的UITextField文本设置为 '你好世界'

************* 
*HELLO WORLD* 
************* 

我想要什么,第n = 4:

************* 
*LO WORLD * 
************* 

一些注意事项: 我不不想修改UITextfield的文本(比如:删除缺少的字符),这个想法是整个文本应该在那里,但是“焦点”向前移动了几个字符。

+0

你尝试过textInset吗? http://attachs.org/questions/2694411/text-inset-for-uitextfield –

+0

@TejaNandamuri AFAIK,这将影响文本开始/结束的位置。 - 它会移动整个文本,并将我置于相同的情况。 – subzero

+0

如果您在使用'UITextField'时没有设置死角,则可以尝试使用'UITextView'并计算角色的位置,然后滚动到此位置。 – Rikh

回答

0

您需要设置UITextPosition当文本字段开始编辑是这样的:

- (void)textFieldDidBeginEditing:(UITextField *)textField 
{ 
    UITextPosition *beginning = [textField beginningOfDocument]; 
    [textField setSelectedTextRange:[textField textRangeFromPosition:beginning 
toPosition:beginning]]; 
} 

只需设置UITextPosition为你,你想光标在文本字段的文本的任何索引。

相关问题