iPhone開(kāi)發(fā)應(yīng)用中UIScrollView代碼實(shí)現(xiàn)循環(huán)滾動(dòng)
作者:佚名
iPhone開(kāi)發(fā)應(yīng)用中循環(huán)滾動(dòng)一個(gè)UIScrollView代碼實(shí)現(xiàn)是本文要介紹的內(nèi)容,主要是介紹UIScrollView來(lái)實(shí)現(xiàn)循環(huán)滾動(dòng)的案例,來(lái)看詳細(xì)內(nèi)容。
iPhone開(kāi)發(fā)應(yīng)用中循環(huán)滾動(dòng)一個(gè)UIScrollView代碼實(shí)現(xiàn)是本文要介紹的內(nèi)容,主要是介紹UIScrollView來(lái)實(shí)現(xiàn)循環(huán)滾動(dòng)的案例,來(lái)看詳細(xì)內(nèi)容。
- // testScrollViewViewController.m
- // testScrollView
- // Created by cash on 11-7-4.
- // Copyright 2011年 xbiii3s@gmail.com. All rights reserved.
- #import "testScrollViewViewController.h"
- @implementation testScrollViewViewController
- @synthesize scrollView, slideImages;
- #define WIDTH_OF_SCROLL_PAGE 320
- #define HEIGHT_OF_SCROLL_PAGE 460
- #define WIDTH_OF_IMAGE 320 #define HEIGHT_OF_IMAGE 460
- #define LEFT_EDGE_OFSET 0
- - (void)viewDidLoad {
- scrollView = [[UIScrollView alloc] init];
- CGRect scrollFrame;
- scrollFrame.origin.x = 0;
- scrollFrame.origin.y = 0;
- scrollFrame.size.width = WIDTH_OF_SCROLL_PAGE;
- scrollFrame.size.height = HEIGHT_OF_SCROLL_PAGE;
- scrollView = [[UIScrollView alloc] initWithFrame:scrollFrame];
- scrollView.bounces = YES;
- scrollView.pagingEnabled = YES;
- scrollView.delegate = self;
- scrollView.userInteractionEnabled = YES;
- slideImages = [[NSMutableArray alloc] init];
- [slideImages addObject:@"IMG_0116.PNG"];
- [slideImages addObject:@"IMG_0118.PNG"];
- [slideImages addObject:@"IMG_0119.PNG"];
- [slideImages addObject:@"main_bg.png"];
- //add the last image first
- UIImageView *imageView = [[UIImageView alloc]
- initWithImage:[UIImage imageNamed:[slideImages objectAtIndex:([slideImages count]-1)]]]
- imageView.frame = CGRectMake(LEFT_EDGE_OFSET, 0, WIDTH_OF_IMAGE, HEIGHT_OF_IMAGE);
- [scrollView addSubview:imageView];
- [imageView release];
- for (int i = 0;i<[slideImages count];i++) {
- //loop this bit
- UIImageView *imageView = [[UIImageView alloc]
- initWithImage:[UIImage imageNamed:[slideImages objectAtIndex:i]]];
- imageView.frame = CGRectMake((WIDTH_OF_IMAGE * i) + LEFT_EDGE_OFSET + 320, 0, WIDTH_OF_IMAGE, HEIGHT_OF_IMAGE);
- [scrollView addSubview:imageView];
- [imageView release];
- }
- //add the first image at the end
- imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:[slideImages objectAtIndex:0]]];
- imageView.frame = CGRectMake((WIDTH_OF_IMAGE * ([slideImages count] + 1)) + LEFT_EDGE_OFSET, 0, WIDTH_OF_IMAGE, HEIGHT_OF_IMAGE);
- [scrollView addSubview:imageView];
- [imageView release];
- [scrollView setContentSize:CGSizeMake(WIDTH_OF_SCROLL_PAGE * ([slideImages count] + 2), HEIGHT_OF_IMAGE)];
- [scrollView setContentOffset:CGPointMake(0, 0)];
- [self.view addSubview:scrollView];
- [self.scrollView scrollRectToVisible:CGRectMake(WIDTH_OF_IMAGE,0,WIDTH_OF_IMAGE,HEIGHT_OF_IMAGE) animated:NO];
- [super viewDidLoad];} - (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView {
- int currentPage = floor((self.scrollView.contentOffset.x - self.scrollView.frame.size.width
- / ([slideImages count]+2)) / self.scrollView.frame.size.width) + 1;
- if (currentPage==0) {
- //go last but 1 page
- [self.scrollView scrollRectToVisible:CGRectMake(WIDTH_OF_IMAGE * [slideImages count],0,WIDTH_OF_IMAGE,HEIGHT_OF_IMAGE) animated:NO];
- } else
- if (currentPage==([slideImages count]+1)) {
- //如果是最后+1,也就是要開(kāi)始循環(huán)的第一個(gè)
- [self.scrollView scrollRectToVisible:CGRectMake(WIDTH_OF_IMAGE,0,WIDTH_OF_IMAGE,HEIGHT_OF_IMAGE) animated:NO];
- }
- }
- - (void)didReceiveMemoryWarning {
- // Releases the view if it doesn't have a superview.
- [super didReceiveMemoryWarning];
- // Release any cached data, images, etc that aren't in use.
- }
- - (void)viewDidUnload {
- // Release any retained subviews of the main view.
- // e.g. self.myOutlet = nil;
- }
- - (void)dealloc {
- [scrollView release];
- [slideImages release];
- [super dealloc];
- }
- @end
小結(jié):iPhone開(kāi)發(fā)應(yīng)用中循環(huán)滾動(dòng)一個(gè)UIScrollView代碼實(shí)現(xiàn)的內(nèi)容介紹完了,希望通過(guò)本文的學(xué)習(xí)能對(duì)你有所幫助!
責(zé)任編輯:zhaolei
來(lái)源:
互聯(lián)網(wǎng)