2016-11-18 81 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爲你,你想光標在文本字段的文本的任何索引。

相關問題