2013-12-03 5 views
3

Задача: Текст (иврит), который я установил в кнопке, отображается наоборот.Как создать UIButton с текстом на иврите?

Например:

 NSString *title = @"עמוד הבית"; //This is right-to-left 
     UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom]; 
     [button setTitle:title forState:UIControlStateNormal]; 

так: В моем тренажере я вижу:

//This is left-to-right 

This is left-to-right

Как это можно исправить?

Как я могу правильно показать текст?

App поддерживается IOS 6 и IOS 7

+0

Что это значит? Не то, чтобы это было важно. Похоже на то, что вы набрали только назад. – PaulG

+3

Это обратное, потому что иврит - это язык справа налево. Вы должны использовать локализованные файлы .strings. – danielbeard

+0

Возможно, я ошибаюсь, но я думаю, что языки справа налево не «зеркально отражают» каждый символ (как показано на выходе симулятора). - Вы уверены, что матрица преобразования нигде не модифицирована? Правильно ли отображаются латинские символы? –

ответ

0

, если вы используете «# x200F», который будет решать вашу проблему, добавьте это в приложенном string.There это один вопрос после добавления все это приходит с, и это странно, если вы знаете answer.please, доля

+0

Это знак справа налево (RLM) : https://en.wikipedia.org/wiki/Right-to-left_mark – mahboudz

2

То, что сработало для меня при использовании UIButton был такой:

if ([UIView userInterfaceLayoutDirectionForSemanticContentAttribute:button.semanticContentAttribute] == UIUserInterfaceLayoutDirectionRightToLeft) 
{ 
    button.contentHorizontalAlignment = UIControlContentHorizontalAlignmentRight; 
} 

Ссылки стоит читать:

Supporting Right-to-Left Languages (Apple Reference)

AutoLayout + RTL + UILabel text alignment

Смежные вопросы