Обоснованное выравнивание в 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
  • Как динамически изменять размер UITableViewCell
  • Interesting Posts

    Цвет jpeg-изображения сильно изменяется после просто ImageIO.read () и ImageIO.write ()

    Как добавить переменную в Scala?

    Отправить вход в фоновое окно мыши в Windows 7

    Как применить фильтр при разбиении на страницы в ASP.NET MVC и сущности Framework?

    Есть ли достойная библиотека для рисования OpenGL для iPhone SDK?

    Поиск через NSString с использованием регулярного выражения

    Угловое – использование труб в услугах и компонентах

    Автоматически создавать или обновлять копию в реальном времени на другом жестком диске всякий раз, когда файлы сохраняются в определенной папке

    Windows 8 «chkdsk / r» застрял на стадии 4

    Как использовать pip с Python 3.x вместе с Python 2.x

    varchar (max) везде?

    Как избежать принудительной разворачивания переменной?

    В Vista Explorer, как я могу найти содержимое всех файлов в каталоге для слова?

    Почему моя таблица страниц занимает столько памяти?

    Извлечение IP-адресов из строк с использованием регулярных выражений

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