首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >支持滑动和页面控制的图片幻灯片

支持滑动和页面控制的图片幻灯片
EN

Stack Overflow用户
提问于 2013-01-15 12:55:19
回答 2查看 7.1K关注 0票数 2

我正在创建一个“how - to”视图,在那里我向用户展示如何使用应用程序的5-6张图片。我希望它像是真实视图中的一个容器。此外,我希望它有一个与滑动和页面控制的过渡。如果你明白我的意思,就像AppStore上的图片上有应用程序的屏幕截图?

有什么简单的方法可以做到这一点吗?非常感谢大家的帮助!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-01-15 13:19:18

这是一段简单的代码,但您可以使用循环、动画或您想要做的事情对其进行自定义;) ...

代码语言:javascript
复制
- (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];
}
票数 5
EN

Stack Overflow用户

发布于 2013-01-15 12:59:13

  1. 您可以为数量为'n‘的图像创建UIImageView
  2. 将此图像添加到UIScrollView上。保持滚动视图的大小与分页相同很重要的一点是,启用UIScrollView

UIImageView属性

它应该会给你与AppStore截屏相同的外观。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14331399

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档