0

IOS プロジェクトに ICarousel を追加したところ、問題なく動作しました。写真をスクロールできました。

次に、私のビューには別のデータが含まれています。したがって、すべてのビューをカバーする UISCrollView を追加する必要がありました。これで、ScrollView にいくつかの要素 (ラベル、textViews、および ICarousel の UIVIew) ができました。

ScrollView は正常に動作します。しかし今、ICaroosel は画像を切り替えません。写真は読み込まれます (最初の写真と 2 番目の写真の一部が表示されます) が、カルーセルが機能しなくなりました。

誰かが同じ問題を抱えていましたか?それを解決する方法は?

編集:

@Wainのアドバイスの後、私はこれを試しました:

- (void)viewDidLoad
{
    UIPanGestureRecognizer *panRecognizer = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(pan:)];
    [self.view addGestureRecognizer:panRecognizer];

    panRecognizer.delegate = self;   
}
- (void)pan:(id)sender {
    NSLog(@"Pan");
}

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer{
    return YES;
}

動作しませんが、ブレークポイントで確認したshouldRecognizeSimultaneouslyWithGestureRecognizerところ、横スクロールを試みたときにメソッドが実行されました。

どこが間違っていますか?

4

1 に答える 1

1

デフォルトでは、一度にアクティブにできるのは 1 つだけであるため、ジェスチャ認識エンジン間の衝突のように見えます。

gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer:スクロール ビューがすべてをカバーする理由はわかりませんが、コントローラーをジェスチャのデリゲートにして、同時に認識できるように実装できるはずです。


UIScrollViewpanGestureRecognizerデリゲートとして自分自身を設定するためにアクセスできるプロパティがあります。

iCarouselジェスチャを公開しないため、少し異なります。そのため、スクロール ビューでデリゲートを設定してもうまくいかない場合は、カルーセル (それ自体をデリゲートとして設定) を編集してデリゲート メソッドを実装できます。

于 2013-08-22T15:48:51.273 に答える