iphone переключает вид, проводя пальцами влево и вправо, аналогично стоковому приложению - PullRequest
3 голосов
/ 02 октября 2010

Меня интересует, как реализована нижняя часть стокового приложения для iphone.Нижняя часть приложения, где вы можете переключать виды, проводя пальцем влево / вправо и «...» под видом, чтобы указать, на какой вид смотрит пользователь.

Это выглядит для меня как компонент табуляции.Я пытаюсь найти компонент пользовательского интерфейса, а также Google, но я пока не нашел ничего подобного.Большинство примеров, которые я нашел, используют представление прокрутки.Когда вы проводите пальцем влево / вправо, появляется полоса прокрутки, и, что более важно, под этим видом нет «...», указывающего, на какой вид смотрит пользователь.

Может кто-нибудь указать мне напохожий пример?

Спасибо, Томас

Ответы [ 3 ]

6 голосов
/ 02 октября 2010

Это UIScrollView с pagingEnabled, установленным на YES, занимающий большую часть экрана с UIPageView под ним.Подробнее см. Пример кода Apple PageControl .

Вы можете отключить отображение индикаторов прокрутки, установив свойства showsHorizontalScrollIndicator и showsVerticalScrollIndicator вида прокрутки в NO.

Может также стоить проверить пример кода PhotoScroller для более подробного примера того, как выполнить нумерацию страниц с использованием UIScrollView.Также есть отличное видео под названием «Проектирование приложений с представлениями с прокруткой», которое проведет вас через нумерацию страниц с использованием UIScrollView в видеороликах WWDC 2010.Я настоятельно рекомендую посмотреть его и другие видео WWDC.Вы можете получить их, войдя в центр разработчиков iOS и прокрутив до конца.

Кроме того, как они говорят вам в видео, вам не нужно использовать сенсорные события или переопределять touchesBegan:withEvent: или аналогичные функции.чтобы это произошло.Если вы делаете это таким образом, вам придется проделать большую работу, чтобы передать события, которые вас не волнуют, в представления, которые вы показываете, и тому подобное.UIScrollView с pagingEnabled, установленным на YES, сделает всю тяжелую работу за вас.

Если вы по какой-то причине не хотите использовать представление с прокруткой, лучше использовать UIGestureRecognizer.Но на самом деле, просто используйте представление прокрутки.

1 голос
/ 02 октября 2010

Это называется сенсорными событиями. более того, проведите пальцем по iphone.

А вот два примера.

Вот фрагмент кода: Сначала нужно сообщить приложению, которое касается Began.

Вы можете найти некоторые подробности об API для этого. Затем методы делегата будут вызываться автоматически каждый раз, когда пользователь касается экрана iphone.

- (void)touchesEnded:(NSSet*)touches withEvent:(UIEvent*)event {
    UITouch *touch = [touches anyObject];
    if (touch.info & UITouchSwipedRight) {
        [self changeViewRight];
    } else if (touch.info & UITouchSwipeLeft) {
        [self changeViewLeft];
    }
    return;
}

проверьте этот пример:

http://devblog.wm -innovations.com / теги / touchesbegan /

Это действительно хороший пример.

Надеюсь, это поможет. Дайте мне знать, если это немного. Спасибо

PK

0 голосов
/ 23 ноября 2012

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

Навигация по представлениям с помощью жеста смахивания

...