Ios 将某些手势传递给uiscrollview,将其他手势传递给其内容?
很抱歉我是个初学者。我看了很多UIGestureRecognitor教程,也看到了一些类似的教程,但让这种独特的手势组合起作用让我难以理解。详情如下。提前感谢您的帮助 FooViewController在interface builder中具有自己的.xib,适合iOS7中的此层次结构:Ios 将某些手势传递给uiscrollview,将其他手势传递给其内容?,ios,uiscrollview,uigesturerecognizer,uipangesturerecognizer,uipinchgesturerecognizer,Ios,Uiscrollview,Uigesturerecognizer,Uipangesturerecognizer,Uipinchgesturerecognizer,很抱歉我是个初学者。我看了很多UIGestureRecognitor教程,也看到了一些类似的教程,但让这种独特的手势组合起作用让我难以理解。详情如下。提前感谢您的帮助 FooViewController在interface builder中具有自己的.xib,适合iOS7中的此层次结构: UIPopover >> PageViewController >> FooViewController >> View (built in .xib)
UIPopover
>> PageViewController
>> FooViewController
>> View (built in .xib)
>> scrollView (just a UIScrollView)
>> DrawingView (a UIView subclass that has touch drawing capabilities)
它有时也被一个子类替换,我们称之为FooViewControllerSubclass:FooViewController
。以下是我正在创建的手势:
@implementation FooViewController
- (id)init
{
self = [super init];
[[NSBundle mainBundle] loadNibNamed:@"FooViewController" owner:self options:nil];
if (self) {
UIPanGestureRecognizer *panGR = self.scrollView.panGestureRecognizer;
panGR.minimumNumberOfTouches = 2;
}
@end
@implementation FooViewControllerSubclass
- (id)init
{
self = [super initWithWb:wb];
if (self) {
UIPinchGestureRecognizer *pinchRecognizer = [[UIPinchGestureRecognizer alloc] initWithTarget:self action:@selector(twoFingerPinch:)];
[[self view] addGestureRecognizer:pinchRecognizer];
}
return self;
}
...
- (void)twoFingerPinch:(UIPinchGestureRecognizer *)recognizer
{
if ([[[self nextResponder] nextResponder] isKindOfClass:([PageViewController class])]) {
[[(PageViewController*)[[self nextResponder] nextResponder] popover] dismissPopoverAnimated:YES];
}
}
@end
@implementation DrawingView
{
...
- (void)drawRect:(CGRect)rect{
//Does a bunch of basic drawing stuff using touchesBegan, touchesMoved, etc.
}
}
@end
顺便说一句:我也很好奇整个[[self nextResponder]nextResponder]
部分是否符合犹太教(因为它是有效的),如果不是,我应该如何将这些信息传递到层次结构中
谢谢 您是否尝试过要求您的平移手势识别器失败,以使您的按压手势识别器成功
(在iOS 7中,您可以使用
UIgestureRecognitizerDelegate
方法来实现这一点;在iOS 6及更低版本中,您需要对捏手势识别器进行子类化,以覆盖-requiregestureRecognitizerToFail:
)没有足够的信息来说明问题所在。至少,创建平移手势识别器时需要自定义滚动视图。谢谢Petro。实际上,我没有自定义的滚动视图,它只是UIScrollView。我对它进行了编辑,以明确这一点。谢谢,