Обоснованное выравнивание в UITextView – iPhone

В моем приложении у меня есть UITextView со многими строками, но мне нужны данные с правильным внешним видом.

Возможно ли иметь выравнивание по выравниванию в UITextView ?

Я знаю, что это старый вопрос, но теперь у нас есть новости о:

 UITextView *textView = // init your text view textView.textAlignment = NSTextAlignmentJustified; 

Вот и все !

UPDATE: это работает только на iOS 6 и выше

Я пришел к решению, которое работает. Прежде всего, вам нужно будет изменить UITextView и вместо этого использовать UIWebView .

Details.h

 @interface Details : UIViewController { IBOutlet UIWebView *descripcion; } @property (nonatomic, retain) UIWebView *descripcion; 

Затем загрузите свой UIWebView следующим образом:

Details.m

 [descripcion loadHTMLString:[NSString stringWithFormat:@"
%@
",YOUR_TEXT] baseURL:nil];

Существует решение:

 NSString *text1 = @"Sample text : A his is my weblog in English, German and Korean. If you want to know more about a pizza stone once it's cooled down."; NSMutableParagraphStyle *style = [[NSParagraphStyle defaultParagraphStyle] mutableCopy]; [style setAlignment: kCTJustifiedTextAlignment]; NSAttributedString * subText1 = [[NSAttributedString alloc] initWithString:text1 attributes:@{ NSParagraphStyleAttributeName : style }]; _myUiTextView.attributedText = subText1; 

Есть еще один вариант. CATextLayer .

Он явно поддерживает обоснованное выравнивание. И это намного легче и быстрее, чем UIWebView . Потому что это по существу тонкий слой поверх CoreText , поэтому не требует CoreText процесса компоновки, такого как UIWebView .

Или вы можете использовать еще один вариант, просто используя CoreText структуру CoreText .

Во всяком случае, они не поддерживают редактирование текста. Если вам это нужно, вы должны реализовать все это самостоятельно.

Для правосторонних языков, таких как персидский

  UITextPosition *beginning = textview.beginningOfDocument; UITextPosition *start = [textview positionFromPosition:beginning offset:0]; UITextPosition *end = [textview positionFromPosition:start offset:[textview.text length]]; UITextRange *textRange = [textview textRangeFromPosition:start toPosition:end]; [textview setBaseWritingDirection:UITextWritingDirectionRightToLeft forRange:textRange]; textview.textAlignment = NSTextAlignmentJustified; 

Для выравнивания текста нет настроек, у вас есть только центр, слева и справа. Если вы хотите, чтобы выравнивание было правильным, где каждая строка имела одинаковое количество символов или что-то подобное, вы можете отформатировать введенный текст, чтобы возврат каретки после x количества символов или слов или что-то в этом роде.

  • Как убрать клавиатуру для UITextView с ключом возврата?
  • Изображение UITextView
  • Как перехватить ссылку на ссылку в UITextView?
  • UITextView линейчатый фон, но неправильная высота строки
  • Изменить размер шрифта для заполнения UITextView?
  • Interesting Posts

    Возможна ли вогнутая граница границы?

    Какая настройка убедит меню Windows появляться справа, а не слева?

    Как я могу удалить одноэлементную фасоль из ApplicationContext?

    Загрузите JQuery в расширение Chrome?

    или msbuild.exe с NAnt?

    Как я могу удалить запах сигарет с моего компьютера?

    По ненаписанным параметрам для функций C ++

    Многостраничное раскрывающееся меню Twitter Bootstrap

    Как решить «Выполнение плагинов, не охватываемых конфигурацией жизненного цикла» для Spring Data Maven Builds

    Как сообщить Spring Boot, какой основной class использовать для исполняемого банку?

    iOS 8 UIPageViewController Применение ограничений после переходов

    Может ли функтор компоновщика работать?

    Как вы гарантируете, что Cascade Delete включена в отношении отношения таблицы в EF Code?

    Как я могу получить высоту и ширину панели навигации Android программно?

    Ошибка при получении: Ошибка аутентификации сверстников для пользователя «postgres» при попытке заставить pgsql работать с рельсами

    Давайте будем гением компьютера.