根据输入的文本调整UITextField的大小和位置

时间:2012-11-29 08:47:00

标签: objective-c ios cocoa-touch uitextfield

我的宽度为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 ;
}

1 个答案:

答案 0 :(得分:2)

如你所说,它将是固定长度,然后你可以这样做:

设置UITextField的最大宽度,并使文本居中对齐。