我正在创建一个以编程方式创建UITextView的应用程序。问题是,当用户输入文本或应用程序设置文本时,单词会在一行中传播并离开屏幕,而不是换行到下一行。当我使用接口生成器创建UITextView时,文本会自动换行,但不会在以编程方式创建时自动换行。
代码:
UITextView *textView = [[UITextView alloc] initWithFrame:CGRectMake(100, 12, 210, 60)];
[[self view] addSubview:textView];
[textView becomeFirstResponder];发布于 2015-12-06 23:05:41
从iOS 7开始提供:
textView.textContainer.lineBreakMode = NSLineBreakByWordWrapping;发布于 2011-07-22 09:59:35
UITextView和UITextField是不同的类。UITextField为单行,UITextView为多行。以编程方式创建UITextView而不是UITextField,我希望您已经解决了您的问题。
发布于 2011-07-22 10:01:52
UITextView的全部意义在于允许多行文本。从文档中:
UITextView类实现可滚动多行文本区域的行为。该类支持使用自定义字体、颜色和对齐方式显示文本,还支持文本编辑。通常使用文本视图来显示多行文本,例如在显示大型文本文档的正文时。
由于UITextView继承自UIScrollView,因此您可以通过禁用水平滚动来强制它进行协作。为此,您需要设置contentSize,例如
CGSize scrollableSize = CGSizeMake(210, 480);
[textView setContentSize:scrollableSize];这会将宽度固定为210,并允许高度滚动到480。由于您将textView设置为调整(210,60)的大小,因此应该允许垂直滚动,但不允许水平滚动。
https://stackoverflow.com/questions/6784890
复制相似问题