一切都在我的代码中有效,但我总是警告“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....
}
答案 0 :(得分:6)
关于行:
swipeLeft.delegate = self;
您的控制器需要实现 UIGestureRecognizerDelegate ,如下所示:
@interface viewCont : UIViewController<UIGestureRecognizerDelegate> {
}
@end
我没有在提供的代码中看到有关webView警告的任何有问题的代码。
答案 1 :(得分:0)
这个类是UIWebView的孩子吗?
您正在将目标设置为self,请确保该对象是UIWebView的实例或子类。如果将WebView设置为实例变量,则需要将手势识别器的目标设置为该实例。