Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/103.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 带滑动和页面控制的图片幻灯片_Ios_Iphone_Uiscrollview - Fatal编程技术网

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

Ios 带滑动和页面控制的图片幻灯片,ios,iphone,uiscrollview,Ios,Iphone,Uiscrollview,我正在创建一个“操作”视图,向用户显示5-6张有关如何使用应用程序的图片。我希望它像真实视图中的一个容器。我还希望它有一个与滑动和页面控制转换。如果你知道我的意思的话,比如AppStore在图片上有一个应用程序的截图 有没有一个简单的方法可以做到这一点?非常感谢大家的帮助 您可以为拥有的“n”个图像创建UIImageView 在UIScrollView上添加此图像。保持滚动视图的大小与UIImageViewsize相同 最重要的是,启用UIScrollView的分页属性 它应该给你和AppSto

我正在创建一个“操作”视图,向用户显示5-6张有关如何使用应用程序的图片。我希望它像真实视图中的一个容器。我还希望它有一个与滑动和页面控制转换。如果你知道我的意思的话,比如AppStore在图片上有一个应用程序的截图

有没有一个简单的方法可以做到这一点?非常感谢大家的帮助

  • 您可以为拥有的“n”个图像创建
    UIImageView
  • UIScrollView
    上添加此图像。保持滚动视图的大小与
    UIImageView
    size相同
  • 最重要的是,启用UIScrollView的分页属性
  • 它应该给你和AppStore屏幕一样的外观
    快照屏幕。

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

    -(void)viewDidLoad
    {
    [超级视图下载];
    //init scollview
    scrollView=[[UIScrollView alloc]initWithFrame:myBounds];
    scrollView.delegate=self;
    scrollView.PaginEnabled=是;
    //Ajout des涵盖古典风格
    对于(int i=0;i<[mycover count];i++){
    CGRect帧;
    frame.origin.x=scrollView.frame.size.width*i;
    frame.origin.y=0;
    frame.size=scrollView.frame.size;
    //Vue 1
    UIView*子视图1=[[UIView alloc]initWithFrame:frame];
    [子视图1添加子视图:[myCovers objectAtIndex:i]];
    [滚动视图添加子视图:子视图1];
    }
    //内容大小滚动视图
    scrollViewBack.contentSize=CGSizeMake(scrollViewBack.frame.size.width*([MyOvers count]),scrollViewBack.frame.size.height);
    [self.view addSubview:scrollViewBack];
    scrollView.contentSize=CGSizeMake(scrollView.frame.size.width*([MyOvers count]),scrollView.frame.size.height);
    [self.view addSubview:scrollView];
    //页面控件
    pageControl=[[UIPageControl alloc]initWithFrame:CGRectMake(0,scrollView.frame.size.height-pageControl_HEIGTH-myBaseline,scrollView.frame.size.width,pageControl_HEIGTH)];
    pageControl.numberOfPages=[MyOvers计数];
    [self.view addSubview:pageControl];
    }
    #布拉格标记-
    #pragma标记参数设置
    -(void)setObjects:(NSArray*)封面{
    myCovers=[[NSArray alloc]initWithArray:covers];
    }
    #布拉格标记-
    #pragma标记滚动视图委托
    -(无效)ScrollViewDiEndDecelling:(UIScrollView*)发送器{
    CGFloat pageWidth=scrollView.frame.size.width;
    NSInteger offsetLooping=1;
    int page=floor((scrollView.contentOffset.x-pageWidth/2)/pageWidth)+offsetLooping;
    pageControl.currentPage=page%[MyOvers计数];
    }
    
    谢谢!工作得很好!Charlu代码有太多的缺失。。。有人会说“工作完美”。。没有评论,na值(页面控制高度),没有定义等。。。
    - (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];
    }