1. 程式人生 > >ios菜鳥之路:uiscrollview和pagecontrol的使用方法

ios菜鳥之路:uiscrollview和pagecontrol的使用方法

一、UIScrollview以及pagecontrol的宣告

@interface rootViewController : UIViewController<UIScrollViewDelegate>//加上scrollviewdelegate的協議
@property (strong, nonatomic) IBOutlet UIScrollView *scrollView;
@property (strong, nonatomic) IBOutlet UIPageControl *pageControl;

- (IBAction)pageTurn:(UIPageControl *)sender;  //pagecontrol的介面轉換方法

二、實現

 scrollView=[[UIScrollView alloc]initWithFrame:CGRectMake(0, 0, 320, 380)];//初始化scrollview的介面 (座標x,座標y,寬度,高度)螢幕左上角為原點
    [scrollView setContentSize:CGSizeMake(960, 380)];//設定scrollview畫布的大小,此設定為三頁的寬度,380的高度。用來實現三頁照片的轉換。
    scrollView.pagingEnabled=YES;//立刻翻頁到下一頁 沒中間的拖動過程
    scrollView.bounces=NO;//去掉翻頁中的白屏
    [scrollView setDelegate:self];
    scrollView.showsHorizontalScrollIndicator=NO;//不現實水平滾動條
    
    //將影象新增到scrollview中
    UIImageView *imageview1=[[UIImageView alloc]initWithFrame:CGRectMake(0, 0, 320, 380)];
    [imageview1 setImage:[UIImage imageNamed:@"Default1.png"]];
    UIImageView *imageview2=[[UIImageView alloc]initWithFrame:CGRectMake(320, 0, 320, 380)];
     [imageview2 setImage:[UIImage imageNamed:@"Default2.png"]];
     UIImageView *imageview3=[[UIImageView alloc]initWithFrame:CGRectMake(640, 0, 320, 380)];
     [imageview3 setImage:[UIImage imageNamed:@"Default3.png"]];
    [scrollView addSubview:imageview1];
    [scrollView addSubview:imageview2];
    [scrollView addSubview: imageview3];
    [self.view addSubview:scrollView];
        //將pagecontrol新增到scrollview中
    pageControl=[[UIPageControl alloc]initWithFrame:CGRectMake(0, 350, 320, 30)];
    pageControl.numberOfPages=3;
    pageControl.currentPage=0;
    [pageControl addTarget:self action:@selector(pageTurn:) forControlEvents:UIControlEventValueChanged];

    [self.view addSubview:pageControl];

//pagecontrol的點跟著頁數改變

-(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView1{
    CGPoint offset=scrollView1.contentOffset;
    CGRect bounds=scrollView1.frame;
    [pageControl setCurrentPage:offset.x/bounds.size.width];
}

//點選pagecontrol的點 跳到那一頁的實現

- (IBAction)pageTurn:(UIPageControl *)sender {
    CGSize viewsize=scrollView.frame.size;
    CGRect rect=CGRectMake(sender.currentPage*viewsize.width, 0, viewsize.width, viewsize.height);
    [scrollView scrollRectToVisible:rect animated:YES];
    
}

以上內容只是多張圖片的轉換功能。scrollview是將一屏放不了的東西組織在一起的功能,在相簿和地圖中比較常見。

詳細contentoffset及contentsize contentinset的介紹 請見http://blog.csdn.net/bl1988530/article/details/7043936