您的位置:首页 > 产品设计 > UI/UE

UIScrollView手动轮播图

2015-07-20 15:47 453 查看
没有添加定时器,所以不能达到自动的效果

#import "JZScrollViewController.h"

@interface JZScrollViewController ()

@property (nonatomic, strong) UIScrollView * scrollView;

@property (nonatomic, strong) UIPageControl * pageControl;

@end

@implementation JZScrollViewController

- (void)viewDidLoad {

[super
viewDidLoad];

self.view.backgroundColor = [UIColor whiteColor];

[self
initScroll];

[self
addImageWithtag:1000];

[self
initpageControl];

}

//初始化Scroll

- (void)initScroll

{

UIScrollView
* scroll = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0,
[UIScreen mainScreen].bounds.size.width, [UIScreen
mainScreen].bounds.size.height)];

scroll.showsHorizontalScrollIndicator = NO;

scroll.showsVerticalScrollIndicator = NO;

scroll.contentSize = CGSizeMake([UIScreen
mainScreen].bounds.size.width * 3, 0);

scroll.pagingEnabled = YES;

scroll.delegate = self;

self.scrollView = scroll;

[self.view
addSubview:self.scrollView];

}

//初始化pageControl

- (void)initpageControl

{

UIPageControl * page = [[UIPageControl alloc]
initWithFrame:CGRectMake(([UIScreen mainScreen].bounds.size.width -
200) / 2, 300 - 30, 200, 30)];

page.numberOfPages = 3;

page.currentPage = 0;

page.currentPageIndicatorTintColor = [UIColor blackColor];

page.pageIndicatorTintColor = [UIColor greenColor];

page.userInteractionEnabled = NO;

self.pageControl = page;

[self.view
addSubview:page];

}

//添加图片

- (void)addImageWithtag:(NSInteger) tag

{

for(int i =
0; i < 3; i++){

NSString * name = [NSString stringWithFormat:@"%d.jpg", i +
1];

UIImage * image = [UIImage imageNamed:name];

UIImageView * imageView = [[UIImageView alloc]
initWithFrame:CGRectMake(i * [UIScreen
mainScreen].bounds.size.width, 100, [UIScreen
mainScreen].bounds.size.width, 200)];

imageView.tag = tag + i;

imageView.image = image;

[self.scrollView addSubview:imageView];

}

}

//滚动图片达到轮播图的效果

- (void)scrollViewDidScroll:(UIScrollView *)scrollView

{

CGFloat
scrollX = self.scrollView.contentOffset.x + [UIScreen
mainScreen].bounds.size.width / 2;

int num =
(int)(scrollX / [UIScreen mainScreen].bounds.size.width);

NSLog(@"%d",
num);

self.pageControl.currentPage = num;

}

@end
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: