Проведите пальцем, чтобы изменить вид


Легко ли закодировать следующее?

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

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

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

2 5

2 ответа:

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

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

Я реализовал его в многих моих приложениях.

На домашнем экране 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], который повторил бы нажатие кнопки "Назад" в навигационной панели.

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