IOS UIScrollView,滑動視圖

//iOS7之后的屬性,設置為NO,目的是消除視圖控制器對滾動視圖的影響

self.automaticallyAdjustsScrollViewInsets = NO;

//取到圖片在工程中的路徑

NSString *path = [[NSBundle mainBundle] pathForResource:@"3" ofType:@"png"];

//通過路徑來得到圖片

UIImage *image = [UIImage imageWithContentsOfFile:path];

//imageWithContentsOfFile 和imageNamed:得到圖片的區(qū)別(面試中問的頻率比較高的問題)

//官方提供的允許每個應用程序開辟的最大活躍內(nèi)存不要超過200M(分機型)

// imageNamed: (一般加載占用磁盤比較小的圖片(幾kb或者幾十kb),此方法會將圖片加載到應用程序的活躍內(nèi)存中)

//imageWithContentsOfFile (此方法用于加載占用磁盤空間比較大的圖片,圖片不會占用應用程序的活躍內(nèi)存)

//imageView的尺寸設為圖片的尺寸

UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(0,0,image.size.width, image.size.height)];

imageView.image = image;

//創(chuàng)建滾動視圖(視圖控件),應用場景:用于顯示比scrollView本身要大的視圖(可以一個視圖,也可以是多個視圖size的和)

//添加到scrollView上的視圖,叫做scrollView的內(nèi)容視圖

//設置內(nèi)容視圖的滾動區(qū)域,(設置為imageView的大小)

//contentSize 一般精確設置為內(nèi)容視圖的大小(重要)

//要想讓內(nèi)容視圖能夠滾動查看,必須保證contentSize比scrollView的size要大

scrollView.contentSize = CGSizeMake(imageView.frame.size.width, imageView.frame.size.height);

//隱藏橫向的滾動條

scrollView.showsHorizontalScrollIndicator = NO;

//隱藏縱向的滾動條

scrollView.showsVerticalScrollIndicator = NO;

//設置內(nèi)容視圖邊界的回彈效果,默認為YES

scrollView.bounces= NO;

//contentOffset 偏移量(scrollView的起始點(scrollView左上角的點),相對于內(nèi)容視圖起始點的偏移量)(重要)

//坐標是將內(nèi)容視圖的起始點作為坐標原點

//contentOffset 默認值為(0,0)

//設置scrollView 對內(nèi)容視圖的分頁屬性,默認為NO,每一頁的大小為scrollView的size

//contentSize

contentSize是UIScrollView可以滾動的區(qū)域。在我的理解中,我把UIScrollView看成是具有上下兩層的一個復合視圖,frame控制著上層的大小,我們看到的UIScrollView的大小實際就是frame的大小,上層固定不動,顯示的變化,由下層的滾動來控制。而下層滾動的區(qū)域的大小,就是由contentSize來控制的了。例如:若frame = (0, 0, 320, 480) contentSize = (320, 960),代表本UIScrollView可以上下滾動,滾動區(qū)域為frame大小的兩倍。

//contentInset

contentInset的API文檔的解釋是"內(nèi)容視圖嵌入到封閉的滾動視圖的距離"??梢岳斫鉃閮?nèi)容視圖的上下左右四個邊擴展出去的大小。contentInset的單位是UIEdgeInsets,默認值為UIEdgeInsetsZero,也就是沒有擴展的邊。下面解釋一下UIEdgeInsets,它是一個結構體,定義如下:

typedefstructUIEdgeInsets {

CGFloattop, left, bottom, right;// specify amount to inset (positive) for each of the edges. values can be negative to 'outset'

} UIEdgeInsets;

分別代表著上邊界,左邊界,底邊界,右邊界,擴展出去的值。

//scrollView.pagingEnabled = YES;

//設置scrollView的代理

//對內(nèi)容視圖進行縮放的時候,不要理會contentSize的變化

//設置scrollView內(nèi)容視圖的最大縮放倍數(shù)

scrollView.maximumZoomScale = 2.0;

//設置最小縮放倍數(shù)

scrollView.minimumZoomScale = 0.5;

//打開分頁屬性

//每次翻頁的時候,都會伴有一個減速到停止的過程

_scrollView.pagingEnabled = YES;

//設置scrollView要進行縮放的內(nèi)容視圖

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

//返回imageView

return [scrollView.subviews objectAtIndex:0];

}

//對scrollView內(nèi)容視圖開始進行拖拽的時候,調(diào)用此方法

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

NSLog(@"beginDragging!");

}

//scrollView滾動的時候,調(diào)用此方法

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

NSLog(@"didScroll!");

}

//結束拖拽的時候,調(diào)用此方法

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

NSLog(@"didEndDragging!!");

}

//scrollView減速到靜止的時候,調(diào)用此方法(此方法被調(diào)用,需要有減速的過程)

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

NSLog(@"didEndDecelerating!!");

}

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,182評論 6 543
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 99,489評論 3 429
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 178,290評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,776評論 1 317
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,510評論 6 412
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 55,866評論 1 328
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,860評論 3 447
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 43,036評論 0 290
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 49,585評論 1 336
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 41,331評論 3 358
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,536評論 1 374
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,058評論 5 363
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 44,754評論 3 349
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,154評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,469評論 1 295
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,273評論 3 399
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,505評論 2 379

推薦閱讀更多精彩內(nèi)容

  • 掌握 UIScrollView的常見屬性 UIScrollView的常用代理方法 UIScrollView的縮放 ...
    JonesCxy閱讀 2,754評論 1 12
  • 在iOS中,滾動視圖UIScrollView用于查看大于屏幕的內(nèi)容。Scroll View有兩個主要目的: 讓用戶...
    pro648閱讀 38,368評論 4 37
  • 我是個很懶的人。 其實,很早就想好好開始寫東西,很早以前就想,會不會有一天,我變成一個用文字和世界對話的人。我還記...
    淺淺的夕陽閱讀 184評論 0 1
  • 想起一個月前剛來的時候,一個人坐brt不習慣,一個人上下班不習慣,一個人吃飯也很不習慣,我是一個害怕孤獨的人,害怕...
    米魚的記憶閱讀 146評論 0 2
  • “你作為投資者,必須牢記且絕對不能觸犯的鐵律是:永遠不要押上全部!”在任何領域都不可能有百分之百正確率的事情,任何...
    lanlana閱讀 272評論 0 0