Bạn không cần phải thay đổi bất kỳ thiết lập trên UILabel, chỉ cần đặt các nhân vật với unicode 0x200F trước chuỗi của bạn. Đây là lý do:
Trong Unicode nhiều ký tự có một hướng cụ thể, cho phép hệ thống biết nó phải được viết, nói LTR, như سلام. Đoạn văn thường sử dụng hướng của ký tự đầu tiên. Đó là lý do tại sao chuỗi của bạn không có số được nhập từ phải sang trái tự động.
Bây giờ, một số ký tự, như số, có định hướng "yếu", do đó về cơ bản, chúng có tính chất xung quanh. Khi bạn nhập "1. בבוקר", hệ thống đầu tiên nhìn thấy 1, do đó, có hướng LTR thông thường. Thay đổi căn chỉnh sẽ không hữu ích, vì nó chỉ thay đổi toàn bộ văn bản sang phải hoặc giữa.
Để giải quyết vấn đề này, Unicode có hai ký tự đánh dấu (LTR: 0x200E, RTL: 200F). Đây là vô hình, nhưng dictate hướng. Vì vậy, trong khi "1. בבוקר" là ...
- בבוקר
nếu bạn gõ "# x200F" + "1. בבוקר" nó sẽ hiển thị như thế này:
1. בבוקר
Xem http://stackoverflow.com/questions/1553248/iphone-and-right-to-left-text. Thật không may, không có câu trả lời cho đến nay. – kennytm
Cảm ơn nhưng nó không phải là cùng một isuue. – Tiger
Whoa, thật kỳ lạ! Điều gì xảy ra nếu bạn có một số ở giữa tiếng Do Thái, hoặc ở đầu chuỗi nhưng sau một khoảng trống? – lawrence