day11---UIScrollView

UIScrollView

- (void)viewDidLoad {
    [super viewDidLoad];
    
    CGRect screenBounds = [[UIScreen mainScreen] bounds];
    
    //當(dāng)滾動視圖和導(dǎo)航控制器在一起的時(shí)候,滾動視圖就會受其影響,那么設(shè)置一下屬性,關(guān)閉對其影響(iOS7之后出現(xiàn)的)
    self.automaticallyAdjustsScrollViewInsets = NO;
    
    /************* 創(chuàng)建UIScrollView *******************/
    UIScrollView *scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 64, screenBounds.size.width, screenBounds.size.height-64)];
    scrollView.delegate = self;
    scrollView.backgroundColor = [UIColor greenColor];
    [self.view addSubview:scrollView];
    
    
    UIImage *image = [UIImage imageNamed:@"1001.jpg"];
    //設(shè)置imgView的寬高和圖片image的寬高一樣
    UIImageView *imgView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, image.size.width, image.size.height)];
    imgView.image = image;
    //把要展示的圖片添加到scrollView上
    [scrollView addSubview:imgView];
    
    
    //***************  重點(diǎn)屬性  ***********//
    //1.設(shè)置滾動的內(nèi)容視圖的滾動范圍              【**重點(diǎn)**】
    scrollView.contentSize = CGSizeMake(image.size.width, image.size.height);           (滑動圖片首先設(shè)置視圖滾動范圍)
    //2.關(guān)閉彈簧效果
    scrollView.bounces = YES;
    //3.設(shè)置滾動的偏移量                        【** 重點(diǎn) **】
    //x值為正數(shù),視圖往右邊偏移,x值為負(fù)數(shù),視圖往左邊偏移;
    //y值為正數(shù),視圖往下邊偏移,y值為負(fù)數(shù),視圖往上邊偏移;
    scrollView.contentOffset = CGPointMake(image.size.width-screenBounds.size.width, image.size.height-screenBounds.size.height);
    
    //4.在scrollView的四周增加額外的滾動區(qū)域【了解】
    scrollView.contentInset = UIEdgeInsetsMake(20, 20, 20, 20);
    //5.隱藏滾動條
    scrollView.showsHorizontalScrollIndicator = NO;
    scrollView.showsVerticalScrollIndicator = NO;
    //6.設(shè)置是否滾動
    scrollView.scrollEnabled = YES;
    
    //7.關(guān)于縮放系數(shù)的設(shè)置       (縮放圖片首先設(shè)置視圖的縮放系數(shù))
    //設(shè)置內(nèi)容視圖的最小縮放系數(shù)
    ?       scrollView.minimumZoomScale = 0.03;
    //設(shè)置內(nèi)容視圖的最大縮放系數(shù)
    scrollView.maximumZoomScale = 2;
}

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}



#pragma mark - UIScrollViewDelegate

//**** 重點(diǎn) ***//
//1.當(dāng)對scrollView將要開始進(jìn)行拖拽的時(shí)候,調(diào)用;
-(void)scrollViewWillBeginDragging:(UIScrollView *)scrollView
{
//    NSLog(@"WillBeginDragging");

}


//2.scrollView滾動的時(shí)候,調(diào)用此方法(被調(diào)用若干次)     【** 重點(diǎn) **】
-(void)scrollViewDidScroll:(UIScrollView *)scrollView
{
//    NSLog(@"DidScroll");
}


//3.結(jié)束對scrollView的拖拽是,調(diào)用
-(void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate
{
//    NSLog(@"DidEndDragging");
}


//4.scrollView停止?jié)L動
-(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
{;
//    NSLog(@"DidEndDecelerating");
}



/*********** 關(guān)于縮放 ***************/
//1.設(shè)置scrollView中要進(jìn)行縮放的內(nèi)容視圖
-(UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView
{
    return [scrollView.subviews lastObject];
}


//2.將要開始縮放的時(shí)候調(diào)用
-(void)scrollViewWillBeginZooming:(UIScrollView *)scrollView withView:(UIView *)view
{
    NSLog(@"villBeginZooming");
}


//3.正在縮放的時(shí)候調(diào)用
-(void)scrollViewDidZoom:(UIScrollView *)scrollView
{
    NSLog(@"DidZoom");
}


//4.縮放完畢的時(shí)候調(diào)用
-(void)scrollViewDidEndZooming:(UIScrollView *)scrollView withView:(UIView *)view atScale:(CGFloat)scale
{
    NSLog(@"DidEndZooming");
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容