我正在开发一个应用程序,用户需要写一些信息。为此,我需要一个多行的 UITextField
(通常情况下,UITextField
只有单行)。
通过谷歌搜索,我发现可以使用 UITextView
代替 UITextfield
实现这个目的。
我正在开发一个应用程序,用户需要写一些信息。为此,我需要一个多行的 UITextField
(通常情况下,UITextField
只有单行)。
通过谷歌搜索,我发现可以使用 UITextView
代替 UITextfield
实现这个目的。
还有另一种对我有效的选择:
子类化UITextField并覆盖:
- (void)drawTextInRect:(CGRect)rect
在这个方法中,你可以做如下操作:
NSDictionary *attributes = @{ NSFontAttributeName : self.font,
NSForegroundColorAttributeName : self.textColor };
[self.text drawInRect:verticalAlignedRect withAttributes:attributes];
如果矩形有足够的空间,此代码将使用尽可能多的行呈现文本。您可以根据需要指定任何其他属性。
不要使用:
self.defaultTextAttributes
这将强制单行文本呈现