pangestures интерактивны, как почтовое приложение в iOS

Я хочу обеспечить поддержку iOS 8 и более поздних версий, таких как действия tableview с анимацией, как в почтовом приложении. Я добавил жест панорамирования в ячейку и попытался остановить движение ячейки вверх и вниз при панорамировании ячейки, а также как сделать его интерактивным, как почтовое приложение iOS.

Любая помощь очень ценится заранее спасибо.

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

    guard let panRecognizer = gestureRecognizer as? UIPanGestureRecognizer else {
       return false
    }


    let velocity  = panRecognizer.velocity(in: self.view)
    if abs(velocity.y) > abs(velocity.x) {
        print("false")
        return false
    }
      print("true")
        return true
}
This is handled in selector method 
    else if(gesture.state == .changed){
                print("ended")
                let velocity  = gesture.velocity(in: self.view)
                if (abs(velocity.y) > abs(velocity.x)) {
                    print("panning upward while panning with touch")
                    //gesture.setTranslation(CGPoint(x:(frame?.center.x)!,y:(frame?.center.y)!), in: self.view)
                }else if(abs(velocity.y) < abs(velocity.x)) {
                    print("panning in horizontal direction ")
                    let velocity  = gesture.velocity(in: self.view)
                    let translation = gesture.translation(in: self.view )
                    gesture.view!.center = CGPoint(x:gesture.view!.center.x + translation.x, y:gesture.view!.center.y + translation.y)
                    gesture.setTranslation(CGPoint(x:0,y:0), in: self.view)
                }
            }

person Boobesh balasubramaniyan    schedule 30.07.2018    source источник
comment
я думаю, ты попробуешь table cells reorderable concept   -  person Anbu.Karthik    schedule 30.07.2018
comment
это не переупорядочение, я хочу сделать tableviewrowactions для старых устройств и как сделать его интерактивным   -  person Boobesh balasubramaniyan    schedule 30.07.2018


Ответы (1)


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

person Rakesha Shastri    schedule 30.07.2018
comment
я пробовал это, проблема в том, что мне нужны жесты панорамирования для перемещения влево и вправо, а не для панорамирования вверх, я хочу, чтобы оно не панорамировалось вверх/вниз - person Boobesh balasubramaniyan; 30.07.2018
comment
Кажется, вы обновляете координаты x и y при панорамировании, хотя хотите панорамировать только в одном направлении. - person Rakesha Shastri; 30.07.2018
comment
спасибо, это решило проблему, как установить ограничение для панорамирования и анимировать действия строки, такие как почтовое приложение, я новичок в iOS dev - person Boobesh balasubramaniyan; 30.07.2018
comment
@ Ракеша Шастри Спасибо - person Boobesh balasubramaniyan; 30.07.2018
comment
любой намек на анимацию, такую ​​​​как почтовое приложение для пользовательских действий tableviewrow, как этого добиться. - person Boobesh balasubramaniyan; 30.07.2018
comment
Просто проведите пальцем по Google, чтобы показать действия для ячейки tableView. Есть делегаты Apple, а также множество сторонних фреймворков, которые достигают этого. - person Rakesha Shastri; 30.07.2018
comment
Мне нужно сделать это, чтобы обеспечить поддержку старых устройств, и поэтому я не могу использовать сторонние библиотеки, поэтому мне нужно придумать свой собственный код. Поэтому мне нужно создать кнопку пользовательского действия и анимировать ее. надеюсь, вы поняли мою проблему, если вы придете на любых ресурсах, пожалуйста, поделитесь и помогите - person Boobesh balasubramaniyan; 30.07.2018