iOS SWIFT - 通过触摸

时间:2016-05-16 12:44:57

标签: ios swift uicollectionview uicollectionviewcell

我有水平流动的集合视图,细胞高度为高度和宽度屏幕/ 4

所以我想添加类似动画过渡的东西,所以当你试图用两根手指扩展单元格时,这个单元格会扩展它的宽度,直到手指到达设备的两侧,并且当手指移动时,其他一些东西也会生动。

那么我如何跟踪手指moove在我的vc中使用集合视图调用func并操作组件和单元格的大小。同样在cv中扩展一个特定的单元格宽度,以便其他单元格移开对我来说是一个小技巧。

感谢您的帮助))

2 个答案:

答案 0 :(得分:1)

您可以使用UIPinchGestureRecognizer使用两根手指来处理缩放。通过读取视图的缩放比例值,您可以更改单元格的高度和宽度,然后重新加载单元格。

 UIPinchGestureRecognizer *pinchGestureRecognizer = [[UIPinchGestureRecognizer alloc] initWithTarget:self action:@selector(handlePinchWithGestureRecognizer:)];
[cell addGestureRecognizer:pinchGestureRecognizer];

夫特:

var pinchGestureRecognizer: UIPinchGestureRecognizer = UIPinchGestureRecognizer(target: self, action: Selector("handlePinchWithGestureRecognizer:"))
cell.addGestureRecognizer(pinchGestureRecognizer)

阅读缩放比例值并在此处编写转换内容:

-(void)handlePinchWithGestureRecognizer:(UIPinchGestureRecognizer *)pinchGestureRecognizer{
    self.cell.transform = CGAffineTransformScale(self.testView.transform, pinchGestureRecognizer.scale, pinchGestureRecognizer.scale);
}

夫特:

func handlePinchWithGestureRecognizer(sender: UIPinchGestureRecognizer)
{
    sender.view!.transform = CGAffineTransformScale(sender.view!.transform,
    sender.scale, sender.scale)
} 

您也可以参考:https://developer.apple.com/library/ios/documentation/WindowsViews/Conceptual/UIScrollView_pg/ZoomZoom/ZoomZoom.html

答案 1 :(得分:0)

我本来希望将此作为评论添加,但我需要获得50点声望才能做到这一点,所以请谨慎下来:P

您需要使用UIViewControllerAnimatedTransitioningUIViewControllerTransitioningDelegateUIPercentDrivenInteractiveTransition

你做了一个动画转换,它使用了相对于ViewController的UICollectionViewCell框架,因此你必须使用与ViewController.view相关的convertRect方法

动画过渡应该添加NewViewController的屏幕截图,并将convertRect方法的结果作为其起始帧。然后动画将从NewViewController的起始帧到最后一帧。

测试动画并检查它是否具有所需的结果。然后实施 UIPercentDrivenInteractiveTransition并将其绑定到UIPinchGestureRecognizer。我建议将捏合手势添加到每个单元格,然后为单元格创建委托,并将UIPercentDrivenInteractiveTransition设置为实现函数func userDidUsePinchGesture(gesture: UIPinchGestureRecognizer)的委托。在该功能中,您可以计算完成转换的百分比。

如果这段文字有点令人生畏,我很抱歉,我希望这能帮到你。如果您在我建议您查看本教程Creating Custom UIViewController Transitions

之前尚未实施UIViewControllerAnimatedTransitioningUIViewControllerTransitioningDelegateUIPercentDrivenInteractiveTransition