Ema*_*tta 3 gestures xamarin.ios ios uipangesturerecognizer uipageviewcontroller
具有PageCurl转换的UIPageViewController非常适合模拟页面,但默认的GestureRecognizer(UIPanGestureRecognizer)仅响应一个手指事件.我想在其他事件之上添加两个手指事件.
如何将另一个PanGestureRecognizer添加到当前的UIPageViewController实例?这个新的PanGestureRecognizer应该等待两个手指平移触摸,而不会禁用原始的UIPanGestureRecognizer.
如果用户用两个手指而不是一个手指滚动页面,我需要的是一种提升额外自定义事件的方法,但它仍然应该像调用一个手指事件一样滚动页面.
我怎么能在MonoTouch中做到这一点?
提前致谢.
Ema*_*tta 10
我自己解决了这个问题.UIPageViewController包含一组手势识别器.第一个是我们需要获取的,将其"MaximumNumberOfTouches"属性从1更改为2.以下是代码:
UIPageViewController pageController = new UIPageViewController (UIPageViewControllerTransitionStyle.PageCurl, UIPageViewControllerNavigationOrientation.Horizontal, UIPageViewControllerSpineLocation.Min);
UIPanGestureRecognizer pan_gesture_recognizer = (UIPanGestureRecognizer) pageController.GestureRecognizers[0];
pan_gesture_recognizer.MaximumNumberOfTouches = 2;
Run Code Online (Sandbox Code Playgroud)
然后,在处理页面翻转事件的代码中(在我的例子中是继承"UIPageViewControllerDataSource"的自定义类),您可以访问当前的触摸次数:
int number_of_touches = pageController.GestureRecognizers [0].NumberOfTouches;
Run Code Online (Sandbox Code Playgroud)
并使用此值进行相应的操作.
| 归档时间: |
|
| 查看次数: |
2686 次 |
| 最近记录: |