iOS開發UIscrollview常用屬性方法


//

//  ViewController.m

//  ScrollviewAll

#import "ViewController.h"

 

@interface ViewController ()<UIScrollViewDelegate>

 

@end

 

@implementation ViewController

 

- (void)viewDidLoad {

    [super viewDidLoad];

    self.view.backgroundColor = [UIColor yellowColor];

    

    UIScrollView *myScrollView = [[UIScrollView alloc]initWithFrame:CGRectMake(10, 50, [UIScreen mainScreen].bounds.size.width - 20, 300)];

    myScrollView.backgroundColor = [UIColor whiteColor];

    myScrollView.contentSize = CGSizeMake([UIScreen mainScreen].bounds.size.width - 20, 350);//滾動范圍的大小

    myScrollView.directionalLockEnabled = YES; //只能一個方向滑動

    myScrollView.showsVerticalScrollIndicator =YES; //垂直方向的滾動指示

//    myScrollView.scrollIndicatorInsets =

    myScrollView.pagingEnabled = NO; //是否翻頁

    myScrollView.scrollEnabled = YES;//控制控件是否能滾動

    myScrollView.indicatorStyle = UIScrollViewIndicatorStyleBlack;//滾動指示的風格

    myScrollView.showsHorizontalScrollIndicator = NO;//水平方向的滾動指示

    myScrollView.delegate = self;

    myScrollView.bounces = YES;//控制控件遇到邊框是否反彈

    myScrollView.alwaysBounceVertical = NO;//控制垂直方向遇到邊框是否反彈

    myScrollView.alwaysBounceHorizontal = NO;//控制水平遇到邊框是否反彈

 

    [self.view addSubview:myScrollView];

    

}

 

/*

 BOOL tracking                            監控當前目標是否正在被跟蹤

 BOOL dragging                           監控當前目標是否正在被拖拽

 BOOL decelerating                       監控當前目標是否正在減速

 BOOL delaysContentTouches         控制視圖是否延時調用開始滾動的方法

 BOOL canCancelContentTouches    控制控件是否接觸取消touch的事件

 float minimumZoomScale             縮小的最小比例

 float maximumZoomScale            放大的最大比例

 float zoomScale                           設置變化比例

 BOOL bouncesZoom                     控制縮放的時候是否會反彈

 BOOL zooming                             判斷控件的大小是否正在改變

 BOOL zoomBouncing                     判斷是否正在進行縮放反彈

 BOOL scrollsToTop                        控制控件滾動到頂部

 */

 

//只要滾動了就會觸發

- (void)scrollViewDidScroll:(UIScrollView *)scrollView;

{

    //    NSLog(@" scrollViewDidScroll");

    NSLog(@"X = %f,Y = %f",scrollView.contentOffset.x,scrollView.contentOffset.y);

}

//開始拖拽視圖

- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView;

{

    NSLog(@"scrollViewWillBeginDragging");

}

//完成拖拽

- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate;

{

    NSLog(@"scrollViewDidEndDragging");

}

//將開始降速時

- (void)scrollViewWillBeginDecelerating:(UIScrollView *)scrollView;

{

    NSLog(@"scrollViewWillBeginDecelerating");

}

 

//減速停止了時執行,手觸摸時執行執行

- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView;

{

    NSLog(@"scrollViewDidEndDecelerating");

}

//滾動動畫停止時執行,代碼改變時出發,也就是setContentOffset改變時

- (void)scrollViewDidEndScrollingAnimation:(UIScrollView *)scrollView;

{

    NSLog(@"scrollViewDidEndScrollingAnimation");

}

//設置放大縮小的視圖,要是uiscrollview的subview

- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView;

{

    UIView *view = [[UIView alloc]initWithFrame:CGRectMake(0, 0, 10, 10)];

    NSLog(@"viewForZoomingInScrollView");

    return view;

}

//完成放大縮小時調用

- (void)scrollViewDidEndZooming:(UIScrollView *)scrollView withView:(UIView *)view atScale:(float)scale;

{

    view.frame=CGRectMake(50,0,100,400);

    NSLog(@"scrollViewDidEndZooming");

}

 

//如果你不是完全滾動到滾軸視圖的頂部,你可以輕點狀態欄,那個可視的滾軸視圖會一直滾動到頂部,那是默認行為,你可以通過該方法返回NO來關閉它

- (BOOL)scrollViewShouldScrollToTop:(UIScrollView *)scrollView;

{

    NSLog(@"scrollViewShouldScrollToTop");

    return YES;

}

 

- (void)scrollViewDidScrollToTop:(UIScrollView *)scrollView;

{

    NSLog(@"scrollViewDidScrollToTop");

}

 

 

 

- (void)didReceiveMemoryWarning {

    [super didReceiveMemoryWarning];

    // Dispose of any resources that can be recreated.

}

 

 

@end

 


免責聲明!

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



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