2015-06-11 21 views
0

这听起来像一个愚蠢的问题,但我一直在查看对象库,并且似乎找不到合适的Non-editable文本框。iOS中的非可编辑的,不可选择的文本框 - Swift

一个标签是最接近它的东西,但文本总是似乎留在中心左侧,这不是我想要的。

我在想这绝对是标签,我只是没有想出如何正确定制它。

我只想要一个可以填充文本的框,以便文本不会从屏幕飞出,但始终保持在框的边界内。

如果这是一个愚蠢的问题,再次感谢和抱歉。

回答

1

您可以使用UITextView的

UITextView *textView = [UITextView new]; 
textView.editable = NO; 
textView.selectable = NO; 

编辑: 在SWIFT:

var textView = UITextView.new(); 
textView.editable = false; 
textView.selectable = false; 

,仅供参考,一个的UILabel文本对齐方式是可以改变的,如:

var label = UILabel.new(); 
label.textAlignment = NSTextAlignment.Center; 
+0

感谢一家工厂!只是好奇,如果这是可能的故事板?即无代码。 –

+0

当然,在IB中您可以打开UITextView的属性检查器,而在'行为'中,您有2个复选框,“可编辑”和“可选”。 对于UITextField的对齐,在其属性检查器中有一个“对齐”选项 –

0

你可以使用UILabel(总是只读)。是文本将保持在其范围内,并且您可以更改文本对齐。如果你不想让文本从屏幕上飞出来,或者在最后(例如xyz ...)将文本截断......你需要设置你的标签将使用的行数。

myInstanceOfUilabel.numberOfLines=3; 

确保标签的高度足够高,以显示多行。另外文本对齐使用

myInstanceOfUilabel.textAlignment=NSTextAlignmentRight; 

,你可以将它们设置为:

NSTextAlignmentLeft 
    NSTextAlignmentCenter 
    NSTextAlignmentRight 
    NSTextAlignmentJustified 
    NSTextAlignmentNatural 

你也可以做到这一切在故事板不用编写一行代码。只需拖动UILabel并在检查器中设置它的属性

但是,如果您要在很多行中显示文本,并且不确定在运行时显示字符串的时间长短,那么我建议您使用UITextView(可以设置为只读)并在实例化后将其设置为不可编辑。

myInstanceOfUitextview.editable=NO;