为iPhone定制iCarousel?

6

我想在我的应用程序中实现一个iCarousel来显示视图控制器,就像下面的图片一样。我看了很多教程和链接,但是没有得到我需要的结果。请帮帮我。enter image description here


你实现了这个iCarousel类型吗?如果是,请分享。 - AITAALI_ABDERRAHMANE
4个回答

5

2
您可以使用iCarousel来实现相同的效果。
从下面的链接下载旋转木马效果的示例代码。 https://github.com/nicklockwood/iCarousel 在No Nib文件夹中有一个示例。
打开它并根据您的要求修改以下代码。
//在iCarouselExampleViewController.m中
在下面的方法中,按照您的需要修改代码。通过在主视图上添加不同的UI,您可以设计所需的UI。
在我的情况下,我在该主视图上添加了一个图像和标签。
- (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;
    }

}

2

iCarousel用于显示视图,而不是视图控制器。

您不需要为所尝试的内容拥有一个视图控制器数组 - 因为所有视图都表现出相同的行为方式,您可以将控制逻辑放在一个视图控制器中,该视图控制器管理旋转木马,并使旋转木马视图中的任何按钮调用主视图控制器上的方法,使用项目索引来确定哪个旋转木马项被按下。

iCarousel包含几个示例,展示了如何实现这一点,包括控件示例,该示例展示了如何从nib文件加载单个旋转木马视图并将它们的动作绑定到主视图控制器。


1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接