2015-06-11 22 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;