Một giải pháp tốt hơn posible là:
Đầu tiên: Nếu bạn đang làm điều này lập trình bạn sẽ cần phải khởi tạo với khung và một số tùy chỉnh:
// Simple example
int yPosition = 10;
UILabel *label = [[UILabel alloc] initWithFrame: CGRectMake(0, yPosition, self.view.frame.size.width, 0)];
[label setText: @"Testing..."];
[label setBackgroundColor: [UIColor clearColor]];
[label setNumberOfLines: 0];
[label sizeToFit];
Thứ hai: Nếu một nhãn những gì bạn đang cố gắng căn giữa bạn chỉ có thể chạy sau khi chọn setNumberOflines
chọn và được gán 0 value
, văn bản của bạn sẽ có tất cả các dòng cần thiết và phương thức sizeToFit
được gọi để có tuỳ chỉnh tốt và cuối cùng:
[self.label setCenter: CGPointMake(self.view.center.x, self.label.center.y)];
Điều này sẽ trung tâm only the X axis
và Y axis
sẽ vẫn như bạn mong muốn trong quá trình khởi tạo khung.
PS: Nó cũng có giá trị nếu không phải là một UILabel
nhưng phụ thuộc vào sự kiểm soát bạn đang sử dụng sẽ cần một tùy biến đơn giản hay không, và nếu bạn chỉ muốn tập trung theo chương trình nhưng interface builder
thiết kế, chỉ cần chạy second code
.
hoạt động nhưng nếu nhãn dài thì nó không làm trung tâm. Nó hoặc là đi sang trái hoặc phải. Tôi nghĩ vị trí được xác định bởi điểm trung tâm của con chuột. –
Vâng ... chỉ khi nhãn và chế độ xem là các bản xem trước của cùng một chế độ xem. Nếu nhãn là chế độ xem phụ của chế độ xem, bạn phải bỏ qua vị trí và chỉ xem xét các giới hạn. – Eiko
Tôi đã thêm UILabel bằng cách sử dụng trình thiết kế giao diện (kéo và thả). Điều đó có nghĩa là nó là một subview của xem và tôi nên sử dụng giới hạn. –