iOS UITextField Auto Resize符合内容

JOA*_*sta 7 iphone cocoa-touch objective-c ios

如何在iOS中的文本字段中设置自动调整大小?

helloWorld.m

self.TextFieldExample.text = @"HELLO WORLD HELLO WORLD HELLO WORLD HELLO WORLD";

现在:

HELLO WORLD HELLO ......

正确:

HELLO WORLD HELLO WORLD HELLO WORLD HELLO WORLD

在这种情况下,最佳做法是什么?

San*_*gat 7

你应该添加一个由textFieldof类型执行的动作Editing Changed,在这个动作中你应该添加[self.textField sizeToFit];如下:

- (IBAction)textChanged:(UITextField *)sender {

    [self.textField sizeToFit];
}
Run Code Online (Sandbox Code Playgroud)

这样,每次文本字段的内容发生更改时,都会执行操作,并且会调整文本的长度.

如果您希望文本调整大小以适合textField的宽度,则可以在故事板的属性检查器中执行此操作:http://i.stack.imgur.com/udVlk.png


BFa*_*Far 5

使用UITextField,文本必须在一行上,并且不能换行。

您有两种选择:

  1. 缩小字体以适合一行:

    self.TextFieldExample.adjustsFontSizeToFitWidth = YES; self.TextFieldExample.minimumFontSize = 10.0; //Optionally specify min size

  2. 使用UITextView启用文本换行:

    查看此答案:如何创建多行UITextfield?

ps 根据样式指南,“属性应为驼峰大小写,首字母为小写。 ”因此,应将var重命名为self.textFieldExample