1

私のコードではすべてが機能しますが、「swipeLeft.delegate = self;」によって常に警告が表示されます。

「自己」はこの警告によってマークされます。

警告: Passing 'UIWebView *' to parameter of incompatible type

「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....
}
4

2 に答える 2

6

ラインについて:

swipeLeft.delegate =  self;

コントローラーは、次のようにUIGestureRecognizerDelegateを実装する必要があります。

@interface viewCont : UIViewController<UIGestureRecognizerDelegate> {

}

@end

提供されたコードに webView 警告に関する問題のあるコードはありません。

于 2012-02-20T12:17:49.307 に答える
0

このクラスはUIWebViewの子ですか?

ターゲットをselfに設定しています。そのオブジェクトが、UIWebViewのインスタンスまたはサブクラスであることを確認してください。WebViewをインスタンス変数として設定している場合は、ジェスチャレコグナイザーのターゲットをそのインスタンスに設定する必要があります。

于 2012-07-25T00:33:40.633 に答える