Как отобразить два прокручиваемых TextView одновременно - PullRequest
0 голосов
/ 16 августа 2011

Я хотел бы отобразить два окна на экране с прокруткой текста в них, например, в верхнем окне будет один перевод Библии, а в нижнем представлении будет другое.

В идеале, я бы хотел, чтобы они оставались синхронизированными, чтобы они оба показывали одну и ту же точку в своих соответствующих переводах (то есть переключаются на John Ch1 на виде сверху, вид снизу следует и делает то же самое).Но сейчас мне просто любопытно, как получить их в двух отдельных видимых окнах.

Есть идеи?

Ответы [ 3 ]

1 голос
/ 17 августа 2011

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

Помимо этого, лучший метод будет зависеть от того, как будет построена остальная часть вашего приложения. Вы можете создать представление, содержащее два UITextViews, каждый из которых занимает примерно половину экрана. Вы должны быть в состоянии прокрутить одну в ответ на другую прокрутку, хотя я этого не сделал, поэтому не могу сказать вам, как это сделать точно.

Другой вариант, который у вас есть, это использовать основной UITextView, а затем второй UIModalView, который накладывается поверх него. Все зависит от структуры приложения.

Просто заметьте, что если у вас нет специальных маркеров для точек перевода, было бы очень трудно их синхронизировать таким образом. Вы можете попытаться сопоставить номера строк или что-то в этом роде, но из-за того, что языки настолько разные, можно взять 3 строки, а перевод может занять 4, чтобы сказать то же самое.

0 голосов
/ 17 августа 2011

У вас есть две потребности здесь:

(1) Вам необходимо создать модель данных, которая может содержать переводы и связывать каждую главу и стих в каждом переводе с главой и стихом во всех других переводах.Для этого я бы предложил изучить Core Data.Будьте готовы потратить некоторое время на изучение этого.

(2) Вам необходимо отобразить переводы.Для этого я бы предложил вам использовать два UITextViews в одном и том же содержащем представлении.Однако, как заметил Karoly S , на экране iphone действительно нет места для двух видов текста.Я бы порекомендовал использовать два вида, соединенных с помощью флип-перехода , который позволит вам иметь один перевод на весь экран, а затем переключиться на другой перевод.Пользователь может быстро переключаться назад и вперед для сравнения.

0 голосов
/ 17 августа 2011

Это довольно простой вопрос, поэтому вам, возможно, стоит вернуться к Руководству по программированию приложений для iOS , но в двух словах, у вас будет два элемента UITextView внутри представления в вашем приложении, и вы сможете синхронизировать между ними, используя метод встроенного сеттера

- (void)setContentOffset:(CGPoint)contentOffset animated:(BOOL)animated
...