带滑动和页面控制的图片幻灯片

时间:2013-01-15 04:55:19

标签: ios iphone uiscrollview

我正在创建一个“操作方法”视图,其中向用户显示5-6张关于如何使用该应用的图片。我希望它像真实视图中的容器一样。此外,我希望它具有滑动和页面控件的转换。如果你知道我的意思,像AppStore这样的图片上有一个应用程序的截图?

有一种简单的方法吗?所有人都非常感谢!

2 个答案:

答案 0 :(得分:5)

这里有一个简单的代码,但您可以使用循环,动画或您想要的内容对其进行自定义;)...

- (void)viewDidLoad
{
    [super viewDidLoad];

    //init scollview
    scrollView = [[UIScrollView alloc] initWithFrame:myBounds];
    scrollView.delegate = self;
    scrollView.pagingEnabled = YES;

    //Ajout des covers classiques
    for (int i = 0; i < [myCovers count]; i++) {
        CGRect frame;
        frame.origin.x = scrollView.frame.size.width * i;
        frame.origin.y = 0;
        frame.size = scrollView.frame.size;

        //Vue 1
        UIView *subview1 = [[UIView alloc] initWithFrame:frame];
        [subview1 addSubview:[myCovers objectAtIndex:i]];
        [scrollView addSubview:subview1];
    }

    //Content Size Scrollview
    scrollViewBack.contentSize = CGSizeMake(scrollViewBack.frame.size.width * ([myCovers count]), scrollViewBack.frame.size.height);
    [self.view addSubview:scrollViewBack];
    scrollView.contentSize = CGSizeMake(scrollView.frame.size.width*([myCovers count]), scrollView.frame.size.height);
    [self.view addSubview:scrollView];

    //Page Control
    pageControl = [[UIPageControl alloc] initWithFrame:CGRectMake(0, scrollView.frame.size.height - PAGECONTROL_HEIGTH - myBaseline, scrollView.frame.size.width, PAGECONTROL_HEIGTH)];
    pageControl.numberOfPages = [myCovers count];
    [self.view addSubview:pageControl];
}


#pragma mark -
#pragma mark Params setting

- (void) setObjects:(NSArray *)covers {
    myCovers = [[NSArray alloc] initWithArray:covers];
}


#pragma mark -
#pragma mark Scrollview delegate

- (void)scrollViewDidEndDecelerating:(UIScrollView *)sender {
    CGFloat pageWidth = scrollView.frame.size.width;
    NSInteger offsetLooping = 1;
    int page = floor((scrollView.contentOffset.x - pageWidth / 2) / pageWidth) + offsetLooping;
    pageControl.currentPage = page % [myCovers count];
}

答案 1 :(得分:0)

  1. 您可以为'n'个图像创建UIImageView
  2. UIScrollView上添加此图片。保持滚动视图的大小与UIImageView大小相同。
  3. 最重要的是,启用UIScrollView的Paging属性
  4. 它应该给你看起来像AppStore屏幕一样 拍摄屏幕。