Tôi gặp lỗi rất lạ khi cố gắng theo chiều ngang ở giữa văn bản trong đối tượng UITextField
trong ứng dụng iOS 7+.UITextField căn chỉnh văn bản ngang - văn bản không được làm trung tâm
Tôi đã thiết lập một dự án mới để cách ly lỗi và đảm bảo rằng tôi không làm điều gì sai.
Trong viewDidAppear:
phương pháp tôi alloc/init một UITextField
dụ mới như thế này:
UITextField *tf = [[UITextField alloc] initWithFrame:CGRectMake(60.0f, 100.0f, 200.0f, 200.0f)];
tf.backgroundColor = [UIColor orangeColor];
tf.textAlignment = NSTextAlignmentCenter;
[self.view addSubview:tf];
Đó là tất cả. Khi tôi chạy ứng dụng mẫu này trên iPhone Retina (4-inch 64-bit) mô phỏng tôi nhận được sau kết quả:
Sau khi gõ vào một số chữ cái tôi có được điều này:
Có ai biết điều gì đang xảy ra không? Văn bản phải được căn giữa khi nhập. Tôi đã không gặp lỗi này cho đến bây giờ. Đó là iOS liên quan hoặc tôi đang làm điều gì đó sai?
P.s .: Nó cũng đang diễn ra trên iDevices.
Xin cảm ơn trước.
EDIT:
Thêm:
tf.contentHorizontalAlignment = UIControlContentHorizontalAlignmentCenter;
tf.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter;
không giúp được gì.
EDIT 2:
Giống như Inder Kumar Rathore đề nghị tôi đã cố gắng để thiết lập một chiều cao để 20.0f như vậy:
UITextField *tf = [[UITextField alloc] initWithFrame:CGRectMake(60.0f, 100.0f, 200.0f, 20.0f)];
và nó đáng ngạc nhiên hoạt động. Nhưng nó không giải quyết vấn đề. Tôi phát hiện ra rằng việc tăng chiều cao từ 20.0f trở lên sẽ khiến vấn đề trở nên tồi tệ hơn. Tôi nghĩ rằng nó có liên quan gì với chiều cao dòng/chiều cao trường văn bản. Tôi không biết ..
Hành vi lạ thường, mặc dù giảm chiều cao xuống 20 khiến nó hoạt động hoàn toàn tốt. –
@InderKumarRathore Cảm ơn nhận xét của bạn. Tôi đã thử điều đó và tôi làm việc nhưng điều đó không giải quyết được vấn đề. Tôi cũng phát hiện ra rằng chiều cao tăng từ 20 lên làm cho vấn đề chỉ tồi tệ hơn. Giống như nó sẽ là một số loại vấn đề tỷ lệ kích thước liên quan. Tôi không có một đầu mối gì đang xảy ra:/ – damirstuhec
UITextField được thiết kế để sử dụng cho một dòng văn bản. Tại sao bạn muốn tăng chiều cao của trường văn bản. bạn có thể muốn sử dụng UITextview –