在我的应用中,我有多个textField。当我输入小文本时它会正常工作,但输入大文本时会比textField大小更改。
喜欢这个
小文字
大文字
是的,它只发生在iOS6而不是iOS5中。
更新
我不知道怎么做但我在ios6屏幕上更改了我的约束属性,它现在运行正常。谢谢你的帮助。
答案 0 :(得分:0)
试试这个
[yourTextField setAdjustsFontSizeToFitWidth:FALSE];
答案 1 :(得分:0)
尝试使用此功能。但是UITextField
没有提供任何选项来使其成为多行文本框。所以你必须使用UITextView
。
- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text
{
CGSize size = [txtView.text sizeWithFont:txtView.font];
CGRect f = txtView.frame;
f.size.height = ceil(size.width/f.size.width)*size.height;
txtView.frame = f;
}
了解更多信息..
否则,如果您不想在下一行中制作,请使用此代码。
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
CGSize boundingSize = CGSizeMake(320, CGFLOAT_MAX);
CGSize requiredSize = [textField.text sizeWithFont:[UIFont fontWithName:@"Helvetica" size:20.0f] constrainedToSize:boundingSize
lineBreakMode:NSLineBreakByWordWrapping];
CGFloat requiredHeight = requiredSize.height;
CGRect frame1;
frame1 = txtFld.frame;
frame1.size.height = requiredHeight;
txtFld.frame = frame1;
NSLog(@"%f", frame1.size.height);
return YES;
}
答案 2 :(得分:0)
如果您不想更改宽度,则可以按textField.frame.size.width
属性。
这意味着在扩展到某个宽度后,限制为输入
答案 3 :(得分:0)
我也遇到了同样的问题。我必须设置文本字段及其相邻uilabel的左右约束,以确保在输入大量文本后我的文本字段不会自行调整大小。这是Autolayout的一个问题。尝试了以上所有解决方案,无法通过上述解决方案进行修复。