iphone常用控件之UIScrollView


//.h文件
@interface ViewController : UIViewController<UIScrollViewDelegate>{
    UIScrollView *scrollView;
    UIImageView *imageView;
    
}

//.m文件
- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    
//    CGRect *screenBounds = [[UIScreen mainScreen] bounds];   //返回整個屏幕的邊界,包括狀態欄所顯示的空間
    CGRect bounds = [[UIScreen mainScreen] applicationFrame];  //返回屏幕的可顯示區域
    
    scrollView = [[UIScrollView alloc] initWithFrame:bounds];
    scrollView.delegate = self;   //設置委托
//    scrollView.backgroundColor = [UIColor redColor];
     imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"1.png"]];
    [scrollView addSubview:imageView];//添加圖片
    scrollView.contentSize = imageView.frame.size; //設置內容的尺寸大小

//設置是否顯示滑動條
scrollView
.showsHorizontalScrollIndicator=NO;
 scrollView.showsVerticalScrollIndicator=NO;
//pagingEnabled屬性,頁面翻轉
    scrollView.pagingEnabled = NO;
//縮放的最大最小值
    scrollView.minimumZoomScale = 0.25;
    scrollView.maximumZoomScale = 2.5;
    
    //indicatorStyle指定滾動指示條類型
    scrollView.indicatorStyle = UIScrollViewIndicatorStyleDefault; //滾動指示器類型,默認白邊界上繪制黑色滾動條 3種
    
    //directionalLockEnabled屬性
    scrollView.directionalLockEnabled = YES; //設置為YES將滾動鎖定在一個方向上進行。
    
    //bounces屬性,YES時滾動到邊緣可超為超出界面外一點然后彈回原位
    scrollView.bounces = NO; //NO時滾動不會超出可見范圍
    
    //bouncesZoom屬性,類似bounds 指的用戶的縮放
//    scrollView.bouncesZoom = NO; //NO時縮放不可超出最大最小縮放范圍
    
    //pagingEnabled屬性,頁面翻轉
    scrollView.pagingEnabled = NO; 
    
//    scrollView.contentOffset = YES;
    
    self.view = scrollView;
}

//響應縮放方法
-(UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView{
    return imageView;
}


/*********代理方法*********/

//在視圖滾動時接到通知,包括一個指向被滾動視圖的指針,從中可讀取contentOffset屬性已確定其滾動到的位置,常用
-(void)scrollViewDidScroll:(UIScrollView *)scrollView{
    
}

//拖動之前收到通知,可讀取contentOffset
-(void)scrollViewWillBeginDragging:(UIScrollView *)scrollView{

}

//用戶抬起手指時得到通知,還會得到一個布爾值指明在報告滾動視圖最后位置之前,手否需要進行減速
-(void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate{
    
}

//當用戶抬起手指為滾動視圖需要繼續滾動時收到通知,可讀取contentOffset屬性,可判斷用戶抬起手指前最后一次滾動到的位置,但不是最終位置
-(void)scrollViewWillBeginDecelerating:(UIScrollView *)scrollView{
    
}

//當前一個提到的減速完畢、滾動視圖停止移動時會得到通知,收到這個通知的時刻,滾動視圖contentOffset屬性會反映出滾動條最終停止位置
-(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{
    
}

//用戶進行縮放時會得到通知,縮放比例表示為一個浮點數,作為參數傳遞
-(void)scrollViewDidEndZooming:(UIScrollView *)scrollView withView:(UIView *)view atScale:(float)scale{
    
}

//當用戶點觸iPhone的狀態條時滾動視圖代理可以決定視圖是否應滾定回到開頭
-(BOOL)scrollViewShouldScrollToTop:(UIScrollView *)scrollView{
    
}

-(void)scrollViewDidScrollToTop:(UIScrollView *)scrollView{
    
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM