標籤:執行個體 uiviewcontroller ios pagecontrol imageview
iOS UIPageControl簡單範例
關於自動 滾動代碼 有待補充
執行個體中的圖片自行添加
.h 檔案代碼
#import <UIKit/UIKit.h>@interface ViewController : UIViewController<UIScrollViewDelegate>{ UIScrollView *_scrollView; NSMutableArray *slideImages; UIPageControl *_page;}@end
.m 檔案代碼
#import "ViewController.h"@interface ViewController ()@end@implementation ViewController- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil{ self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; if (self) { // Custom initialization } return self;}- (void)viewDidLoad{ [super viewDidLoad]; _scrollView = [[UIScrollView alloc]initWithFrame:CGRectMake(0, 20, 320, 240)]; _scrollView.bounces = NO; _scrollView.pagingEnabled = YES; _scrollView.delegate = self; _scrollView.contentOffset = CGPointMake(320, 0); _scrollView.contentSize = CGSizeMake(1920,240); _scrollView.showsVerticalScrollIndicator =NO; _scrollView.showsHorizontalScrollIndicator = NO; _scrollView.userInteractionEnabled = YES; [self.view addSubview:_scrollView]; slideImages = [[NSMutableArray alloc]initWithObjects:@"1.png",@"2.png",@"3.png",@"4.png", nil]; UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:[slideImages objectAtIndex:([slideImages count]-1)]]]; imageView.frame = CGRectMake(0, 0, 320, 240); [_scrollView addSubview:imageView]; for (int i = 0;i<[slideImages count];i++) { //loop this bit UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:[slideImages objectAtIndex:i]]]; imageView.frame = CGRectMake(320*i+320, 0, 320, 240); imageView.userInteractionEnabled = YES; [_scrollView addSubview:imageView]; } imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:[slideImages objectAtIndex:0]]]; imageView.frame = CGRectMake(320*5, 0, 320, 240); [_scrollView addSubview:imageView]; _page = [[UIPageControl alloc]initWithFrame:CGRectMake(240, 230, 70, 30)]; _page.numberOfPages = 4; _page.currentPage = 0; // _page.backgroundColor = [UIColor grayColor]; [_page addTarget:self action:@selector(pageAction) forControlEvents:UIControlEventTouchUpInside]; [self.view addSubview:_page]; // Do any additional setup after loading the view. }- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{ int currentPage = (_scrollView.contentOffset.x - _scrollView.frame.size.width / ([slideImages count]+2)) / _scrollView.frame.size.width + 1; NSLog(@"%d",currentPage); if (currentPage==0) { [_scrollView scrollRectToVisible:CGRectMake(320*4, 0, 320, 240) animated:NO]; } else if (currentPage==([slideImages count]+1)) { //如果是最後+1,也就是要開始迴圈的第一個 [_scrollView scrollRectToVisible:CGRectMake(320, 0, 320, 240) animated:NO]; }}- (void)scrollViewDidScroll:(UIScrollView *)sender{ int page = _scrollView.contentOffset.x/320-1; _page.currentPage = page;}-(void)pageAction{ int page = _page.currentPage; [_scrollView setContentOffset:CGPointMake(320 * (page+1), 0)];}- (void)didReceiveMemoryWarning{ [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated. }@end
iOS UIPageControl簡單一實例