2012-11-29 81 views
0

我在我的寬度爲150像素的應用程序中有一個UITextField。當用戶添加文本時,當文本大小超過textfield的寬度時,應該相應地增加textfield寬度,以便位置相同,並且輸入的所有文本都能正確顯示。我使用下面的代碼,但沒有運氣。根據輸入的文本調整UITextField的大小和位置

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{ 

    float width = [textField.text sizeWithFont:textField.font 
          constrainedToSize:CGSizeMake(300, textField.bounds.size.height)].width; 

    if (width > (textField.frame.size.width +50)) { 

     CGRect rect = textField.frame; 
     rect.size.width +=10 ; 

     textField.frame =rect; 
    } 

    return YES ; 
} 
+0

嗨prerna,你試過嗎?[textView setContentHuggingPriority:NSLayoutPriorityFittingSizeCompression-1.0 forOrientation:NSLayoutConstraintOrientationVertical]; –

+0

它的方式是textfield。我嘗試過,但我的應用程序崩潰與異常無法識別的選擇器發送到實例。 –

+0

如果輸入的文本很長,該怎麼辦?那麼它應該是多行,正確的NAA? –

回答

2

正如你所說,這將是固定長度的,那麼你可以這樣做:

設置的UITextField的最大寬度,使文本對齊中心。

相關問題