Я пытаюсь использовать UIKit Dynamics для реализации swipe-to-delete на моем UICollectionViewCells. Однако все идет не так, как планировалось. Вот код в методе awakeFromNib UICollectionViewCell в:Каков правильный способ добавления UIKit Dynamics в UICollectionViewCells?
self.animator = [[UIDynamicAnimator alloc] initWithReferenceView:self.contentView];
UICollisionBehavior *collisionBehavior = [[UICollisionBehavior alloc] initWithItems:@[self.contentView]];
[collisionBehavior setTranslatesReferenceBoundsIntoBoundaryWithInsets:UIEdgeInsetsMake(0, 0, 0, -20)];
[self.animator addBehavior:collisionBehavior];
self.gravityBehavior = [[UIGravityBehavior alloc] initWithItems:@[self.containerView]];
self.gravityBehavior.gravityDirection = CGVectorMake(0, 0);
[self.animator addBehavior:self.gravityBehavior];
self.pushBehavior = [[UIPushBehavior alloc] initWithItems:@[self.containerView] mode:UIPushBehaviorModeInstantaneous];
self.pushBehavior.magnitude = 0.0f;
self.pushBehavior.angle = 0.0f;
[self.animator addBehavior:self.pushBehavior];
UIDynamicItemBehavior *itemBehavior = [[UIDynamicItemBehavior alloc] initWithItems:@[self.containerView]];
itemBehavior.elasticity = 0.45f;
[self.animator addBehavior:itemBehavior];
Но это не работает так хорошо. Это то, что происходит при запуске с указанным кодом:
Такое поведение, как представляется, в основном генерируется UICollisionBehavior. Если я прокомментирую это, представление контейнера со всем, что не красное, не оживляет, но отображает смещение на несколько точек влево.
Я прав, чтобы попытаться реализовать это в UICollectionViewCell? Каков правильный способ сделать это?
Спасибо!