设为首页 加入收藏

TOP

iOS— UIScrollView和 UIPageControl之间的那些事(一)
2017-10-12 18:17:05 】 浏览:2628
Tags:iOS UIScrollView UIPageControl 之间 那些

本代码主要实现在固定的位置滑动图片可以切换。

目录图如下:

 

ViewController.h

#import <UIKit/UIKit.h>
// 通过宏定义定义宽和高
#define WIDTH self.view.frame.size.width
#define HEIGHT self.view.frame.size.height

@interface ViewController : UIViewController<UIScrollViewDelegate>

@property(strong,nonatomic) UIScrollView *myScrollView;
@property(strong,nonatomic) UIPageControl *myPageControl;
// 储存图片的集合
@property(strong,nonatomic)NSMutableArray *imageArray;

// 储存照片
@property(strong,nonatomic)UIImageView *firstimage;
@property(strong,nonatomic) UIImageView *secondimage;
@property(strong,nonatomic) UIImageView *thirimage;
// 当前页码
@property(assign,nonatomic)int currentPage;

@end

ViewController.m

  1 #import "ViewController.h"
  2 
  3 @interface ViewController ()
  4 
  5 @end
  6 
  7 @implementation ViewController
  8 
  9 - (void)viewDidLoad {
 10     [super viewDidLoad];
 11     self.myScrollView=[[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, WIDTH, HEIGHT)];
 12     self.myScrollView.backgroundColor=[UIColor colorWithRed:0.315 green:0.843 blue:0.892 alpha:1.000];
 13     self.myScrollView.contentSize=CGSizeMake(3*WIDTH, HEIGHT);
 14     // 设置分页
 15     self.myScrollView.pagingEnabled=YES;
 16     //  隐藏滚动条
 17     self.myScrollView.showsHorizontalScrollIndicator=NO;
 18     // 锁定滚动方向
 19     self.myScrollView.directionalLockEnabled=YES;
 20     // 引用代理
 21     self.myScrollView.delegate=self;
 22 
 23     [self.view addSubview:self.myScrollView];
 24 
 25     self.myPageControl=[[UIPageControl alloc] init];
 26     CGSize PageSize=CGSizeMake(120, 40);
 27     self.myPageControl.frame=CGRectMake((WIDTH-PageSize.width)/2, HEIGHT-PageSize.height-40, PageSize.width, PageSize.height);
 28     self.myPageControl.backgroundColor=[UIColor clearColor];
 29 
 30     // 设置当前页
 31     self.myPageControl.currentPage=0;
 32     // 分页
 33     self.myPageControl.numberOfPages=4;
 34 
 35     [self.view addSubview:self.myPageControl];
 36 
 37     //  初始化储存图片的集合
 38     self.imageArray=[NSMutableArray arrayWithCapacity:1];
 39     for (int i=1; i<5; i++) {
 40         UIImage *image=[UIImage imageNamed:[NSString stringWithFormat:@"%d",i]];
 41         [self.imageArray addObject:image];
 42     }
 43 
 44     self.firstimage =[[UIImageView alloc] init];
 45     self.secondimage=[[UIImageView alloc] init];
 46     self.thirimage =[[UIImageView alloc] init];
 47     //  当前页码
 48     self.currentPage=0;
 49 
 50     [self reloadImage];
 51 
 52 }
 53 
 54 -(void)reloadImage
 55 {
 56     // 第一种情况, 第一页
 57     if (self.currentPage==0) {
 58         self.firstimage.image=[self.imageArray lastObject];
 59         self.secondimage.image=[self.imageArray objectAtIndex:self.currentPage];
 60         self.thirimage.image=[self.imageArray objectAtIndex:self.currentPage+1];
 61 
 62     }
 63 
 64     // 第二种情况,最后一页
 65     else if (self.currentPage==self.imageArray.count-1){
 66         self.firstimage.image=[self.imageArray objectAtIndex:self.currentPage-1];
 67         self.secondimage.image=[self.imageArray objectAtIndex:self.currentPage];
 68         self.thirimage.image=[self.imageArray objectAtIndex:0];
 69 
 70     }
 71 
 72     // 第三种情况  中间页
 73     else{
 74         self.firstimage.image=[self.imageArray objectAtIndex:self.currentPage-1];
 75         self.secondimage.image=[self.imageArray objectAtIndex:self.currentPage];
 76         self.thirimage.image=
首页 上一页 1 2 下一页 尾页 1/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Objective-c 深浅复制 下一篇iOS-UIScrollView和UIPageControl..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

最新文章

热门文章

C 语言

C++基础

windows编程基础

linux编程基础

C/C++面试题目