2014-07-05 16 views
17

Tôi có đối tượng UITextField với thuộc tính văn bản được đặt thành "hi". Tuy nhiên, hai dòng này không ảnh hưởng đến vị trí "hi" nằm ởCách căn giữa văn bản UITextField trong Swift

myUITextObject.contentVerticalAlignment = UIControlContentVerticalAlignment.Center 
myUITextObject.contentHorizontalAlignment = UIControlContentHorizontalAlignment.Center 

Đây có phải là lỗi trong Swift? Nếu vậy làm thế nào để tôi đi về đăng nhập này như là một lỗi để Apple có thể sửa chữa nó trong bản phát hành Swift tiếp theo?

+0

@dasdom có, và điều đó không làm việc – almel

Trả lời

35

Bạn muốn viết nó như thế này:

myUITextObject.textAlignment = .center 

(Edited để thay đổi từ .Center để .center)

+0

Cũng lưu ý rằng myUITextObject.contentVerticalAlignment có thể được đặt thành .Top, .Center, .Fill hoặc .Bottom để ảnh hưởng đến căn chỉnh dọc –

+4

Điều này chỉ căn giữa văn bản theo chiều ngang và 'myUITextObject.contentVerticalAlignment' không còn là thứ nữa. Bất kỳ ý tưởng làm thế nào để đạt được trung tâm dọc mà không làm một hack bù đắp lạ. – boidkan

+0

Cảm ơn bạn! Đó là sự giúp đỡ đầy đủ. – Raja

2

Điều bạn đang tìm kiếm là thuộc tính textAlignment; thử này:

myUITextObject.textAlignment = NSTextAlignmentCenter;

+4

Mã thể hiện trong câu trả lời này sẽ không làm việc trong Swift (nó sẽ trong Objective-C). – Anna

+0

@ Anna bạn nói đúng, và tôi đã thay đổi câu trả lời chính xác thành của Dave – almel

+0

@Anna chỉ tò mò, tại sao mã tôi dán lần đầu tiên không hoạt động, từ các bài đăng SO khác nó xuất hiện như vậy là cách để làm điều đó. Và có hai cách khác nhau để làm điều tương tự có vẻ kỳ lạ. – almel

0

Một cách khác để làm điều đó , là bằng cách sử dụng bảng phân cảnh.

Thực tế, có một Điều khiển dọc và ngang mà bạn có thể sử dụng để căn chỉnh phần tử của bạn bên trong UITextField. Trong trường hợp trên mà sắp xếp văn bản vào trên bên trái:

enter image description here

Hy vọng nó giúp,

Các vấn đề liên quan