1

私はしばらくの間iCarousel(linky:https ://github.com/nicklockwood/iCarousel )をいじっていますが、頭を悩ませることができないことが1つあります。

1つのカルーセルに2つ以上のペン先をロードしています。これは、カルーセル内のすべてのアイテムに同じペン先をロードするための現在のコードです。

- (UIView *)carousel:(iCarousel *)carousel viewForItemAtIndex:(NSUInteger)index reusingView:(UIView *)view
{
if (!view)
{
    //load new item view instance from nib
    //control events are bound to view controller in nib file
    view = [[[NSBundle mainBundle] loadNibNamed:@"ItemView" owner:self options:nil] lastObject];

       }
return view;
}

これは、iCarouselのControlsDemoの標準コードです。

単純なIfステートメントを上記のコードに適用して、カルーセルにアイテムごとに異なるペン先を設定できると言っているのは正しいですか?

または、最初にnibファイルの配列をロードするルートをたどり、上記の方法でそれらを参照する必要がありますか?

それとも、これを行うための完全に異なる方法がありますか?

4

1 に答える 1

0

問題は信じられないほど単純でした、私はそれを非常に複雑にしすぎていました。

これを修正するために上記のサンプルに追加したコードは次のとおりです。

- (UIView *)carousel:(iCarousel *)carousel viewForItemAtIndex:(NSUInteger)index reusingView:(UIView *)view
{
    if (index == 0) {
        view = [[[NSBundle mainBundle] loadNibNamed:@"nib1" owner:self options:nil] lastObject];
    } else {
        view = [[[NSBundle mainBundle] loadNibNamed:@"nib2" owner:self options:nil] lastObject];
    }
    return view;
}
于 2012-06-29T13:12:39.163 に答える