iOS中不可编辑,不可选择的文本框 - Swift

时间:2015-06-11 14:41:54

标签: ios

这听起来像是一个愚蠢的问题,但我一直在浏览对象库,似乎找不到合适的不可编辑文本框。

标签是最接近它的标签,但文字似乎始终保持在中心位置,这不是我想要的。

我认为它绝对是标签,我还没弄清楚如何正确定制它。

我只想要一个可以填充文字的方框,这样文字就不会飞离屏幕,但始终保持在方框的范围内。

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

3 个答案:

答案 0 :(得分:2)

您可以使用UITextView

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

编辑: 在swift:

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

FYI,可以更改UILabel文本对齐方式,例如:

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

答案 1 :(得分:0)

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

myInstanceOfUilabel.numberOfLines=3;

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

myInstanceOfUilabel.textAlignment=NSTextAlignmentRight;

你可以将它们设置为:

   NSTextAlignmentLeft
   NSTextAlignmentCenter
   NSTextAlignmentRight
   NSTextAlignmentJustified
   NSTextAlignmentNatural

您也可以在storyboard中完成所有这些操作而无需编写任何代码。只需拖动UILabel并在检查器中设置其属性

即可

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

myInstanceOfUitextview.editable=NO;

答案 2 :(得分:0)

UITextView具有关闭编辑的属性:

var textView = UITextView()

textView.isEditable = false
textView.isSelectable = false