6

私のアプリでは、下の画像のようにView Controllerを表示するためのiCarouselを実装したいのですが、多くのチュートリアルとリンクについて調べましたが、要件を満たしていません。助けてくださいここに画像の説明を入力

4

4 に答える 4

5

iOSではカバーフローとして知られています。このリンクをたどると、必要なものが得られ、それを実装する方法がわかります。

または、スタック オーバーフローに関するこの質問も参照できます。そして、ここに私の答えが受け入れられています

于 2012-11-26T05:47:25.550 に答える
2

iCarouselは、ビューコントローラではなく、ビューを表示するために使用されます。

すべてのビューが同じように動作するため、カルーセルを管理し、カルーセルビューにボタンを配置する1つのビューコントローラーに制御ロジックを配置できるため、ビューコントローラーの配列を用意する必要はありません。アイテムインデックスを使用してプライマリViewControllerのメソッドを呼び出し、押されたカルーセルアイテムを判別します。

これを行う方法を示すiCarouselに含まれるいくつかの例があります。これには、nibファイルから個々のカルーセルビューをロードし、それらのアクションをメインビューコントローラーにバインドする方法を示すコントロールの例が含まれます。

于 2012-11-26T08:33:45.677 に答える
2

同じ効果のためにiCarouselを使用できます

以下のリンクから、カルーセル効果のサンプルコードをダウンロードします。 https://github.com/nicklockwood/iCarousel

NoNibFolderに1つの例があります。

それを開き、要件に応じて次のコードを変更します

//iCarouselExampleViewController.m内

以下の方法では、必要に応じてコードを変更します。メインビューに別のUIを追加することで、必要なUIを設計できます。

私の場合、そのメインビューに1つの画像とラベルを追加しました。

- (UIView *)carousel:(iCarousel *)carousel viewForItemAtIndex:(NSUInteger)index reusingView:(UIView *)view
{

    UILabel *label = nil;
        UIImageView *imageLogo=nil;
        UIImageView *imageBack=nil;
    //create new view if no view is available for recycling
    if (view == nil)
    {
        view = [[[UIImageView alloc] initWithImage:[UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"page1" ofType:@"png"]]] autorelease];
        imageBack=[[[UIImageView alloc] initWithImage:[UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"3" ofType:@"png"]]] autorelease];
        imageBack.frame=CGRectMake(70, 70,388, 49);
        [view addSubview:imageBack];
        label = [[UILabel alloc]initWithFrame:CGRectMake(80, 78, 380, 30)];
        label.backgroundColor=[UIColor darkGrayColor];
        label.font = [label.font fontWithSize:20];
        label.backgroundColor=[UIColor clearColor];
        [view addSubview:label];
        imageLogo=[[[UIImageView alloc] initWithImage:[UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"Map" ofType:@"png"]]] autorelease];
        imageLogo.frame=CGRectMake(25, 70, 50, 49);
        [view addSubview:imageLogo];

    }
    else
    {
        label = [[view subviews] lastObject];
    }


    label.text = @"Some text";  

    label.frame=CGRectMake(label.frame.origin.x, label.frame.origin.y, label.frame.size.width,label.frame.size.height);

    return view;
    }

}
于 2012-11-26T06:52:25.893 に答える
1

iCarousel for iOS をお試しください。垂直方向や水平方向など、より多くのカルーセル効果を簡単に実装できる優れた方法です。ダウンロードと実装のチュートリアルについては、以下のリンクを参照してください。

リンクの下の iCarousel デモ プロジェクト:

https://github.com/nicklockwood/iCarousel

リンクの下の iCarousel 水平スクロール実装チュートリアル:

http://haifa.baluyos.net/index.php?option=com_content&view=article&id=60:objective-c-image-carousel-tutorial&catid=1:programming&Itemid=5

于 2012-11-26T06:00:19.633 に答える