首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将UIGestureRecognizer从一个视图控制器转发到另一个视图控制器

将UIGestureRecognizer从一个视图控制器转发到另一个视图控制器
EN

Stack Overflow用户
提问于 2013-07-18 21:31:31
回答 3查看 1.4K关注 0票数 3

我正在向我的一个视图控制器view添加一个UIGestureRecognizer

我想要的行为是,当这个手势被识别为取消手势视图控制器并将其转发给另一个视图控制器时。(我想转发的视图控制器已经向视图控制器呈现了手势)

现在,当我关闭视图控制器时,按压手势识别器(逻辑上)失败了。

有什么建议吗?谢谢。

EN

回答 3

Stack Overflow用户

发布于 2013-07-19 03:17:56

\EDIT:现在代理获取带有gestureRecognizer的参数。

您可以只实现如下协议:

代码语言:javascript
运行
复制
@protocol ViewControllerWithGestureRecognizerDelegate

- (void)viewControllerGestureRecognizerEvent:(UIPinchGestureRecognizer *)gestureRecognizer;

@end

并将委托属性添加到视图控制器,在该视图控制器中将显示手势识别器。

代码语言:javascript
运行
复制
@property (nonatomic, weak) id<ViewControllerWithGestureRecognizerDelegate> delegate;

然后将手势识别器添加到视图控制器中:

代码语言:javascript
运行
复制
 UIPinchGestureRecognizer *gestureRecognizer = [[UIPinchGestureRecognizer alloc] initWithTarget:self action:@selector(gestureRecognizerAction:)];
[self addGestureRecognizer:gestureRecognizer];

调用手势识别器的action方法中的委托方法:

代码语言:javascript
运行
复制
 - (void)gestureRecognizerAction:(UIPichGestureRecognizer *)gestureRecognizer
 {
   [self.delegate viewControllerGestureRecognizerEvent:gestureRecognizer];
 }

在第二个视图控制器中实现协议ViewControllerWithGestureRecognizerDelegate (在该协议中,您希望获得有关手势识别器事件的通知),并将手势识别器所在的视图控制器的委托设置为第二个视图控制器。

代码语言:javascript
运行
复制
 ViewControllerWithGestureRecognizer.delegate = ViewControllerInWhichYouWantToGetNotifiedAboutGestureRecognizerEvents.

这样,每当手势识别器调用one视图控制器上的方法时,第二个视图控制器就会被告知这一点。

票数 1
EN

Stack Overflow用户

发布于 2013-10-15 20:04:37

您需要包含delaysTouchesEnded,直到手势被识别:

代码语言:javascript
运行
复制
@property (nonatomic) BOOL delaysTouchesEnded
票数 0
EN

Stack Overflow用户

发布于 2013-12-31 01:55:43

实现这个委托方法不能解决你的问题吗?

代码语言:javascript
运行
复制
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer
shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer*)otherGestureRecognizer {
    return YES;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17724902

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档