Выровнять UITextView в UIScrollView по правому краю

#ios #swift

#iOS #swift

Вопрос:

У меня есть UITableViewCell, у которого я хочу иметь заголовок и подробную информацию. Деталью может быть длинный текст, поэтому я использую пользовательскую ячейку с меткой в качестве заголовка и UITextView (зеленый прямоугольник), встроенный в UIScrollView в качестве детализации.

Зеленый TextView выровнен по левому краю в UIScrollView

Я хочу, чтобы UITextView был выровнен по правому краю в UIScrollView, чтобы он выглядел следующим образом (предположим, что «деталь» находится в ScrollView):

Подробная ячейка

До сих пор я пытался играть с несколькими ограничениями, но я не могу заставить это работать.

Ответ №1:

textView.textAlignment = .right должно сработать.

Однако я не думаю, что принято решать что-то подобное этой проблеме путем встраивания TextView в ScrollView. В TextView функция прокрутки включена по умолчанию, если высота его текста больше высоты TextViews. Поэтому лучше удалить ScrollView и просто использовать TextView

Комментарии:

1. Я хочу горизонтальную прокрутку. Мой опыт размещения textview в UITableViewCell заключается в том, что он усекает текст и добавляет многоточие. textView.textAlignment = .right выравнивает текст в UITextView по правому краю, но я хочу выровнять UITextView справа от UIScrollView

2. Было бы лучше использовать UITextField вместо UITextView , если вы собираетесь сохранить его в виде одной строки и прокручивать по горизонтали? Я думаю, это могло бы немного упростить. Если вы хотите, чтобы TextView не обрезал текст, вы можете изменить его lineBreakMode на .byWordWrapping