let singleRecognizer = UITapGestureRecognizer.init(target: self, action: #selector(DCFChReadSelectionsBookTextSwHintView.singleRecognizerviewClick))
singleRecognizer.numberOfTapsRequired=1;// 单击
self.addGestureRecognizer(singleRecognizer);
self.isUserInteractionEnabled = true;
let panGR = UIPanGestureRecognizer.init(target: self, action: #selector(DCFChReadSelectionsBookTextSwHintView.pan(gr:)));
let pinchGR = UIPinchGestureRecognizer.init(target: self, action: #selector(DCFChReadSelectionsBookTextSwHintView.pinch(gr:)));
let rotationGR = UIRotationGestureRecognizer.init(target: self, action: #selector(DCFChReadSelectionsBookTextSwHintView.rotation(gr:)));
func singleRecognizerviewClick() {
DCFChReadSelectionsBookTextSwHintView.setPointTurnThePageHint();
self.removeFromSuperview();
// var page :DCFChReadHomeBookSelectViewController?
// page = DCFChReadHomeBookSelectViewController.init();
// self.addSubview(page!.view);
}
//移动
func pan(gr:UIPanGestureRecognizer){
DCFChReadSelectionsBookTextSwHintView.setPointTurnThePageHint();
self.removeFromSuperview();
}
//捏合
func pinch(gr:UIPinchGestureRecognizer){
DCFChReadSelectionsBookTextSwHintView.setPointTurnThePageHint();
self.removeFromSuperview();
}
//旋转
func rotation(gr:UIRotationGestureRecognizer){
DCFChReadSelectionsBookTextSwHintView.setPointTurnThePageHint();
self.removeFromSuperview();
}
@objc override func opRBPanClick(gr:UIPanGestureRecognizer){
//移动的位置
let translation = gr.translation(in: gr.view);
let nw = self.bounds.size.width + translation.x;
let nh = self.bounds.size.height + translation.y;
//复位
gr.setTranslation(CGPoint.zero, in: gr.view);
}
/* 此处给其增加长按手势,用此手势触发cell移动效果 */
let longPan = UILongPressGestureRecognizer.init(target: self, action: #selector(handlelongGesture(gr:)));
collectionView?.addGestureRecognizer(longPan);
//MARK: 长按效果
@objc func handlelongGesture(gr:UILongPressGestureRecognizer){
/* 判断手势状态 */
switchgr.state{
case UIGestureRecognizer.State.began:do {
/* 判断手势落点位置是否在路径上 */
self.selectIndexPath = self.collectionView?.indexPathForItem(at: gr.location(in: self.collectionView))
}
break;
case UIGestureRecognizer.State.changed: do {
/* 移动过程当中随时更新cell位置 */
self.collectionView?.updateInteractiveMovementTargetPosition( gr.location(in: self.collectionView))
let indexPath = self.collectionView?.indexPathForItem(at: gr.location(in: self.collectionView))
}
break;
case UIGestureRecognizer.State.ended: do {
/* 移动结束后关闭cell移动 */
let indexPath = self.collectionView?.indexPathForItem(at: gr.location(in: self.collectionView))
}
break;
default:
self.collectionView?.cancelInteractiveMovement();
break;
}
}
网友评论