2012-05-08 2 views
0

Я занимаюсь разработкой приложения iOS, и есть часть, которая является частью запуска, которую нужно прокрутить. Я думал делать это как UIScrollView (никогда не использовал один, но кажется логичным), но похоже, что contentSize всегда нужно вычислять. В этом случае это может быть чрезвычайно переменным (изображения UGC и т. Д.). Это верно? Или есть законное обходное решение? Если нет, будет ли UIWebView лучшим решением?- это UIScrollView или UIWebView, лучшее решение для этого?

Функционал приложения будет похож на фид FB или Instagram. Известно, что они используют (FB выглядит как UIWebView для меня).

ТНХ

ответ

1

На самом деле это зависит от того, что вы пытаетесь достичь. Если вы используете веб-представление, вам придется генерировать html-код для его подачи, и если у вас есть кнопки, вам, вероятно, придется генерировать больше html/css/js, чтобы все работало. Использование вида прокрутки не является болью ... Расчет размера содержимого прост ... Все высоты ваших элементов + некоторые смещения между ними. Его границы будут оставаться неизменными, вы должны установить размер содержимого.

+0

Размер содержимого, большинство примеров, которые я вижу, используют только изображения. У нас было бы много текста, который можно было бы ввести через apis. Таким образом, это не будет фиксированный сайт. Кроме того, я бы предположил, что люди делают ленивую загрузку с помощью UIScrollView. Если да, вы не знаете размер. Существует ли потенциальное обходное решение для этого? Или это звучит так, как будто я должен делать UIWebView? – timpone

+0

Вы можете рассчитывать и изменять размер контента динамически, и даже больше, получая прокрутку позиции прокрутки, вы можете запросить больше данных по запросу из api. Это просто новые данные, которые увеличивают содержимое contentSize.height + 100p для ex ... – graver

+0

ok - это похоже на то, что мы обсуждаем: http://stackoverflow.com/questions/7508517/scaling-uiscrollview-contentsize-to -fit-uiview-with-variable-height-uitableview. Но, как и в исходном вопросе, я думаю немного больше о создании UIScrollView, подобном фиду Instagram. Повторите приведенный выше комментарий, это модель, которую вы предлагаете: Создайте, как первые 1000 пикселей содержимого, и зафиксируйте ее только для вертикальной прокрутки. Поскольку пользователь может прокручивать вниз, когда пользователь прокручивает вниз, захватывает contentOffset и затем добавляет в contentSize.height? Cont – timpone

0

По моему опыту, у меня есть опыт разработки веб-приложений на стороне клиента до разработки IOS .Для в первый раз, я хотя UIWebView довольно проще, чем UIScrollView, потому что я могу справиться с html/css/javascript как мое желание.

Но я нашел некоторую проблему с UIWebView Производительность. Если у вас есть сложное функциональное удобство и большой объем загрузки данных. Поэтому я пытаюсь реализовать с помощью UIScrollView. Конечно, мне нелегко создать сложный вид с UIScrollView, но когда я знаком с инструкцией по реализации. Я думаю, что UIScrollView имеют более высокую производительность, чем UIWebView, особенно сложную компоновку и удобство использования.

Я рекомендую вам использовать оба из них на основе ситуации.

Для некоторого просто ViewController, который просто отображает информацию с менее сложным использованием, UIWebView прекрасно, если у вас есть знакомая разработка веб-приложений на клиентской стороне.

Для удобства использования может быть непросто реализовать с помощью UIScrollView, но это вполне нормально для проблемы с производительностью.

+0

thx для ответа - я согласен с большей частью того, что вы говорите, - это немного дилемма, где я нахожусь.Это похоже на то, чтобы заставить UIScrollView работать в сложном макете и обрабатывать такие проблемы, как абзац или два текста, будет сложно. – timpone

+0

Кстати, вы также можете посмотреть проект «Три20» http://three20.info/. вы можете найти то, что вам нужно. – Sakares

+0

посмотрели на Three20 - так как мы уже начали работу. Я не думаю, что это правильно. Может быть, если мы использовали его с нуля. – timpone

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