我的宽度为150像素的应用程序中有一个UITextField
。当用户添加文本时,如果文本大小超出textfield
的宽度,则应相应增加textfield
宽度,以使位置相同并且输入的所有文本都正确显示。我使用了以下代码,但没有运气。
- (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 :(得分:2)
如你所说,它将是固定长度,然后你可以这样做:
设置UITextField的最大宽度,并使文本居中对齐。