2011-02-08 7 views
5

Можно ли легко написать код?Проведите, чтобы изменить виды

У меня есть табличное представление, и когда пользователь выбирает ячейку, загружается подробный вид. Я хочу разрешить пользователю перемещаться по всем элементам/подробному представлению, представляющим элементы в виде таблицы слева и справа, работая так же, как, например, домашний экран iphone (например, при прокрутке, одна страница перемещается с экрана, а затем появляется).

Я видел, как это реализовано в MobileRSS-APP, так что это возможно, но мне просто трудно найти способ сделать это правильно.

Спасибо за миллион! Я все еще пытаюсь найти свои ноги с какао-касанием ...

+1

+1, мне также интересно узнать, как это работает. Приложение Reeder делает это, прокручивая вверх и вниз, поэтому, возможно, EGOTableviewPullRefresh может стать хорошим местом для начала исследования аналогичных методов. – phi

+0

Основываясь на моем комментарии, я выполнил поиск (я должен был найти раньше :) и в iDev Recipes есть запись в блоге, описывающая именно то, что я хотел: http: // idevrecipes.com/2010/12/28/how-do-the-reeder-iphone-app-swipe-up-and-down-between-articles/ – phi

+0

Спасибо Ирен, это тоже очень полезно. Второй ответ, похоже, больше в том направлении, о котором я думаю, но этот пример дает мне ответ на другой вопрос, позволяя вытаскиванию вернуться к списку (как альтернатива кнопке «Назад»). –

ответ

2

Это не секрет, Apple предоставляет пример кода под названием PageControl, который демонстрирует, что именно вы хотите достичь:

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

Я внедрил его в many of my apps.

+0

Быстрый просмотр - это то, что я ожидал от PageControl, но я не получил шанс еще иметь подробный взгляд. Но будет ли это означать, что вместо того, чтобы загружать подробный вид XIB при выборе ячейки, я загружаю новый ViewController и передаю ссылку на выбранную ячейку, и там создается детальный просмотр (а при инициализации также загружаются подробные окна рядом с ним)? –

+0

«Детальный вид» - это представление прокрутки, в котором хранятся все подробные представления, вы загружаете его, указав ему индекс, а между тем, лениво загружаете другие представления, чтобы при прохождении пользователем другие представления были готовы к показу. Взгляните на образец кода, и вы увидите, что вам нужно сделать. Он не содержит много кода. –

2

Домашний экран iphone (трамплин) работает со списком прокрутки, установленным для пейджинга.

UIScrollView *scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0,0,self.view.frame.size.width, self.view.frame.size.height)]; 
[scrollView setPagingEnabled:YES]; 

Затем, позволяет сказать, что есть две страницы приложения, чтобы перелистывать - установить размер содержимого представления прокрутки в два раза больше ширины вашего зрения:

[scrollView setContentSize:CGSizeMake(self.view.frame.size.width*2, self.view.frame.size.height)]; 

И то, как это делается , :) Я не знаю, так ли это для MobileRSS-APP.

Вещи иметь в виду:

  1. Это не путь по умолчанию вид таблицы работает. Вы можете отклонить приложение от Apple. Представление таблицы предназначено для работы, щелкнув.

  2. Возможно, вы могли бы воспроизвести функциональность без использования прокрутки с использованием методов касаний и навигационного контроллера. Хороший учебник, описывающий, как обнаружить пойло на ваш взгляд здесь: http://www.dosomethinghere.com/2009/07/23/simple-swipe-detection-in-the-iphone-sdk/

В последнем методе в этом учебнике, где есть NSLog («проведите пальцем вправо») можно заменить, что с [self.navigationController popViewControllerAnimated:YES] который будет реплицироваться нажатием кнопку «назад» на панели навигации.

Я не знаю, что вы могли бы сделать для прокрутки влево, хотя ..... если вы хотите сделать это на табличном представлении, вам придется выполнить сложную математику, определяющую, как далеко прокручивается табличный вид , Или вы можете протестировать события касания на самих клетках, но это то, что вам нужно изучить. :)

+0

Спасибо за ваш ответ! Что касается вашего комментария о поведении по умолчанию в таблице, я думаю, что Luuk хочет прокрутку для подробного представления, а не для самого представления таблицы, так что это звучит безопасно для меня .. – phi

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