UIWebView Swipe-Gesture

时间:2012-01-31 11:38:30

标签: xcode uiwebview swipe-gesture uiswipegesturerecognizer

一切都在我的代码中有效,但我总是警告“swipeLeft.delegate = self;”

“自我”标有此警告。

警告是:将'UIWebView *'传递给不兼容类型的参数

将'viewCont * const __strong'传递给不兼容类型的参数“id UIGestureRecognizerDelegate

我该怎么办?

我的代码:

#import "viewCont.h"

@implementation viewCont

@synthesize webView = webView_;

- (void)viewDidLoad
{
//...code

// add Left 
    UISwipeGestureRecognizer *swipeLeft = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(swipeLeftAction:)];
    swipeLeft.direction = UISwipeGestureRecognizerDirectionLeft;
    swipeLeft.delegate =  self;
    [webView_ addGestureRecognizer:swipeLeft];

//code....
}

2 个答案:

答案 0 :(得分:6)

关于行:

swipeLeft.delegate =  self;

您的控制器需要实现 UIGestureRecognizerDelegate ,如下所示:

@interface viewCont : UIViewController<UIGestureRecognizerDelegate> {

}

@end

我没有在提供的代码中看到有关webView警告的任何有问题的代码。

答案 1 :(得分:0)

这个类是UIWebView的孩子吗?

您正在将目标设置为self,请确保该对象是UIWebView的实例或子类。如果将WebView设置为实例变量,则需要将手势识别器的目标设置为该实例。