2013-05-10 4 views
1

Если бы я хотел создать приложение, в котором было обнаружено очень простое обнаружение салфетки, как я могу определить зоны прокрутки в представлении пользователя? Например, если вы программируете воспроизводимую гитару, возможно ли создать шесть длинных и узких кнопок для представления каждой гитарной строки, а затем вызвать метод из-за события swiping вместо события «нажать»?Как определить направление движения, положение касания и т. Д.?

В настоящее время мой единственный опыт работы с кнопками запуска с touchUpInside, и было интересно, было ли что-то вроде swipeLeftToRight или swipteRightToLeft.

Спасибо!

+0

Возможно, вы захотите использовать распознаватели жестов. См. 'UIGestureRecognizer'. Вы также можете прикоснуться к Beegan: 'и т. Д. На' UIView'. –

+0

Это похоже на то, что мне нужно, спасибо! – jake9115

ответ

2

Одна возможности: Разделите ваш интерфейс в представление (который может быть невидимым), один жест распознаватель за просмотр. Распознаватель жестов отвечает, если жест сделан в его представлении.

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

+0

И моя книга может помочь вам: http://www.apeth.com/iOSBook/ch18.html#_gesture_recognizers – matt

+0

Спасибо Мэтт, я обязательно залью вашу книгу. Чтобы просто уточнить, было бы невозможно просто определить область внутри кнопки или что-то вроде GestureRecognizer, и вместо этого я должен делать то, что вы сказали, используя представления? – jake9115

+1

Вы хотите обнаружить салфетки. У кнопки есть естественное желание обнаружить кран. Так что пока я оставил бы кнопки, если бы был вами! – matt

1

Посмотрите на UIGestureRecognizers. Они будут прикреплены к просмотрам и сообщают данному селектору.

http://developer.apple.com/library/ios/#documentation/uikit/reference/UIGestureRecognizer_Class/Reference/Reference.html

+0

Спасибо, что указал мне в правильном направлении. Простите мое невежество, но как мне связать это с элементом в представлении? Я бы сначала сделал кнопку, а потом каким-то образом привязал эти UIGestureRecognizers к кнопке? Я использую определение областей взаимодействия в представлении с помощью объектов перетаскивания элементов управления и не знаю, как это сделать с помощью UIGestureRecognizers. – jake9115

+1

У вас есть два варианта. Если вы хотите использовать Interface Builder, есть объекты, которые вы можете перетащить на панель объектов в IB. Оттуда они могут быть связаны с представлениями, выполняя управление + перетаскивание в представление, с которым вы хотите связать его. Если вы делаете это в коде, настройте свой распознаватель жестов с помощью соответствующих методов инициализации, затем добавьте его в свое представление, используя [self.theViewItShouldBeAddedTo addGestureRecognizer: theGestureRecognizerToAdd]. Извините, что не задумываюсь над деталями, но это действительно ситуация, когда все в документах, и у нас нет кода, о котором идет речь. – skladek

1

Вот что салфетки жест распознаватель используется для ;-) (см ниже)

UISwipeGestureRecognizer *swipeLeft = [[UISwipeGestureRecognizer alloc] initWithTarget:viewController 
                        action:@selector(swipeLeftSelector:)]; 
    swipeLeft.direction = UISwipeGestureRecognizerDirectionLeft; 
+0

Спасибо, теперь мне нужно выяснить, как связать распознаватель жестов с определенной частью экрана! – jake9115

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