iOS UIScrollView – iPhone手機開發技術文章 iPhone軟體開發教學課程

UIScrollView 是可以滾動的View UIview是不可以滾動的,但是他的子類UIScrollView拓展瞭滾動方面的功能

UIScrollView是所有滾動視圖的基類,UITableView,UItextView等視圖都集成與該類

使用場景:一個屏幕顯示不瞭太大的圖片;內容太多;滾動頭條(圖片);相冊等

UIScrollView的核心功能

UIScrollView主要專長與兩個方面:

1.滾動:contentSize大於frame.size 的時候,能夠滾動

2.縮放:自帶縮放,可以指定縮放倍數

[1]UIScrollView滾動相關屬性

1.contentSize 定義內容區域大小,決定是否能夠滾動

2.contentOffset 視圖左上角距離坐標原點的偏移量

3.scrollsToTop 滑動到頂部(點擊狀態條的時候,也就是屏幕最上邊)

4.pagingEnabled 是否整平滾動

5.bounces 邊界是否回彈

6.scorllEnabled 是否能夠滾動

7.showHorizontalScrolllndicator 控制是否顯示水平方向的滾動條

8.showVerticalScrollindicator 控制是否顯示垂直方向的滾動條

9.alwaysBounceVertical 控制垂直方向遇到邊框是否反彈

10.alwaysBounceHorizontal 控制水平方向遇到的邊框是否反彈

[2]UIScrollView縮放相關屬性

1.minimumZoomScale 縮小的最小比例

2.maximumZoomScale 放的的最大比例

3.zoomScale 設置變化比例

4.zooming 判斷是否正在進行縮放的反彈

5.bouncesZoom 控制縮放的時候是否反彈

註意:要實現縮放,還需要實現delegate, 指定縮放的視圖是誰

[3]UIScrollView滾動代理方法

先設置代理

self.myview.scrollV.delegate = self;

1.返回要縮放的視圖

– (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView

{

return self.myview.imV;

}

//2.隻要視圖偏移發生變化,就觸發這個方法

– (void)scrollViewDidScroll:(UIScrollView *)scrollView

{

// NSLog(@”發生瞭什麼事”);

}

– (void)didReceiveMemoryWarning

{

[super didReceiveMemoryWarning];

// Dispose of any resources that can be recreated.

}

//3.將要拖拽的時候,觸發這個方法

– (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView

{

NSLog(@”what’s happen???”);

}

//4.拖拽結束時,觸發這個方法

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

{

NSLog(@”結束瞭嗎”);

}

//5.拖拽完成後減速的時,觸發這個方法

-(void)scrollViewWillBeginDecelerating:(UIScrollView *)scrollView

{

NSLog(@”慢點”);

}

//6.減速結束時,觸發這個方法

-(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView

{

NSLog(@”怎麼停瞭呢”);

}

//7.當縮放的時候,觸發這個方法

– (void)scrollViewDidZoom:(UIScrollView *)scrollView NS_AVAILABLE_IOS(3_2)

{

NSLog(@”大瞭.小瞭”);

}

在.h中聲明屬性

//滾動視圖

@property(nonatomic,retain)UIScrollView*scrollVlV;

//傳裡一個圖片

UIImage *image = [UIImage imageNamed:@”s.png”];

//滾動視圖

self.scrollV = [[UIScrollView alloc] init];

self.scrollV.frame = [UIScreen mainScreen] .bounds;

//內容尺寸

self.scrollV.contentSize = image.size;

//是否有彈動效果

self.scrollV.bounces = NO;

//顯示內容坐標

self.scrollV.contentOffset = CGPointMake(900, 700);

//點擊狀態欄置頂

self.scrollV.scrollsToTop = YES;

//能否滾動

self.scrollV.scrollEnabled = YES;

//滾動條,豎向顯示

self.scrollV.showsHorizontalScrollIndicator = YES;

//滾動條,橫向顯示

self.scrollV.showsVerticalScrollIndicator = YES;

//分頁滑動(手在上面滑得時候,圖片跟著滑動到下一頁)如果不設置默認是no

self.scrollView.pagingEnabled = YES;

//如果內容小於bounds,也能有彈動效果

self.scrollV.alwaysBounceHorizontal = YES;

self.scrollV.alwaysBounceVertical = NO;

發佈留言