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");
}
day11---UIScrollView
最后編輯于 :
?著作權(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ù)。
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
相關(guān)閱讀更多精彩內(nèi)容
- 現(xiàn)在要實(shí)現(xiàn)一個(gè)這樣的功能,一個(gè)大scrollview里面嵌套一個(gè)小的scrollview當(dāng)大的scrollview...
- 以UIImageView為例 首先繼承系統(tǒng)UIScrollView自定義一個(gè)UIScrollView 外部使用 只...
- 1、為了展示嵌套效果,適配復(fù)雜布局內(nèi)部采用了三個(gè)子ViewController: 2、FirstViewContr...
- 初學(xué)者第一次使用 UIScrollView 的時(shí)候,很可能會遇到 UIScrollView 滑動不了,或者明明添加...
- 場景: 初步想法,是改變之前storyboard中的一個(gè)約束,拉長并放入自定義的xib的view,由于單詞太長,后...