6

iCarousel アプリをシングル ビュー アプリケーションと統合します。しかし、タブ バー コントローラーを追加し、この iCarousel コードを 1 つのタブ バー アイテム ビュー コントローラーに配置すると、機能しません (アイテムは表示されますが、スクロールされません)。

以下のように iCarousel を作成しました。

iCarousel *categorySubView = [[iCarousel alloc]initWithFrame:CGRectMake(0,200, 300, 125)];

    categorySubView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
    categorySubView.delegate = self;
    categorySubView.dataSource = self;
    categorySubView.type=iCarouselTypeRotary;
    [self.view addSubview:categorySubView];

次のデリゲートとデータ ソース メソッドを使用しています。

-(NSUInteger)numberOfItemsInCarousel:(iCarousel *)carousel
{

    return 5;
}
- (UIView *) carousel:(iCarousel *)carousel viewForItemAtIndex:(NSUInteger)index reusingView:(UIView *)view{
    UIView *sampleView=[[UIView alloc]initWithFrame:CGRectMake(0, 0, 250, 300)];
    sampleView.backgroundColor=[UIColor whiteColor];
    UILabel *labelis=[[UILabel alloc]initWithFrame:CGRectMake(10, 10, 100, 20)];
    labelis.backgroundColor=[UIColor clearColor];
    labelis.text=@"8Apr-14Apr";
    [sampleView addsubView:labelis];
return sampleView;
}

私に提案してください。

前もって感謝します

4

1 に答える 1

2

あなたのカルーセル ビューは、その中のアイテムのサイズよりもはるかに小さいことに気付きました (高さはわずか 125 ポイントです)。

iCarousel は境界外に描画できますが、境界外のタッチ イベントを検出できないため、スクロールに問題がある可能性があります。

これをデバッグする良い方法は、carousel.clipsToBounds = YES を設定することです。これにより、描画されるものがタッチ可能なものと一致します。もう 1 つのオプションは、carousel.backgroundColor を設定して、画面上でタッチできる部分を確認できるようにすることです。

もう 1 つチェックする必要があるのは、カルーセルを配置したビューの userInteractionEnabled が YES に設定されていることです。

于 2013-04-26T08:05:29.027 に答える