成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

iOS開發滾動視圖UIScrollView

移動開發 iOS
本文分析了iOS開發中滾動視圖UIScrollView的原理、簡單使用和運行效果等,讓大家深入理解了滾動視圖UIScrollView的基本原理和用法。

滾動視圖UIScrollView在滾動過程當中,其實是在修改坐標原點。

當手指觸摸 后,ScrollView會暫時攔截觸摸事件,并開啟一個計時器。假如在計時器到點后沒有發生手指移動事件,那么ScrollView發送、 tracking events到被點擊的subview;假如在計時器到點前發生了移動事件,那么ScrollView取消tracking,自己發生滾動。

初始化

  1. UIScrollView *sv = [[UIScrollView alloc] initWithFrame:CGMakeSize(0.0,0.0,self.view.frame.size.with,600)]; 

一、深入分析UIScrollView

1、由于移動設備自身的限制,當某些視圖滾出可見范圍時,應該如何處理,如何重用可視的空間,減少內存的開銷。

2、UIScrollView是UITableView和UITextView的超類。它的核心理念:UIScrollView 是一個可以在內容視圖之上調整自己原點坐標的視圖。它根據自身框架的大小,裁剪視圖中的內容。通常框架是和應用程序窗口一樣大。可以根據手指的移動,調整 原點的位置,這個原點位置就是滾動視圖的偏移量。展示內容的視圖會根據滾動視圖的原點位置,開始繪制視圖的內容。UIScrollView必須知道內容視圖的大小,以便于知道什么時候停止,一般當滾動出內容的邊界時,它就返回了。

UIScrollView必須知道一個觸摸信號是打算滾動還是打算跟蹤里面的子視圖。為了達到這個目的,它臨時中斷了一個touch-down事件,通過建立一個定時器,在定時器開始行動之前,看是否觸摸的手指做了任何的移動。假如定時器運行中沒有任何的大的位置改變,UIScrollView就發送一個跟蹤事件給觸摸的子視圖;如果在定時器消失前,用戶拖動手指足夠遠,UIScrollView就取消子視圖的任何跟蹤事件,而滾動它自己。

子類可以通過重載touchesShouldBegin:withEvent:inContentView:、pagingEnabled和touchesShouldCancelInContentView:方法,從而影響滾動視圖的滾動手勢。

UIScrollView 類有一個delegate,需要適配的協議是UIScrollViewDelegate。為了縮放和平鋪工作,代理必須實現 viewForZoomingInScrollView:和scrollViewDidEndZooming:withView:atScale:方法。

在UIScrollView對象中,不應該嵌入任何UIWebView和UITableView,否則會出現一些異常情況,因為兩個對象的觸摸事件可能被混合,從而被錯誤的處理。

二、UIScrollView簡單使用

1、拖動一個UIScrollView控件到IB,在上面添加6個標簽。設置第六個標簽在可見范圍外,可以直接設置坐標值。如下圖所示:

2、將UIScrollView添加輸出口,設置為theScroller,其它保留默認。

3、支持滾動

為給可滾動視圖添加滾動功能,需要將屬性contentSize設置為一個CGSize值。CGSize是一個簡單的C語言數據結構,它包含高度和寬度,可使用函數CGSize(<with>,<height>)創建一個這樣的對象。

例如要告訴該可滾動視圖(theScroller)可水平和垂直分別滾動到280點和600點,可在viewDidLoad方法中編寫如下代碼:

  1. self.theScroller.contentSize = CGSizeMake(280.0,600.0); 

注:我在測試的時候,沒有添加該行代碼,但是運行的時候仍能滾動。。。

補充:

原來開始我認為的滾動,只是bounces(橡皮筋)屬性和IOS 6新增的AutoLayout屬性的作用,設置了AutoLayout,而bounces屬性默認是true的,當我按住鍵盤不放,往下滾動的時候,確實可以看到第六個標簽。

所以真正要讓ScrollView能夠滾動,還是需要去設置contentSize的。

4、運行效果

希望通過本文的簡單介紹,讀者朋友們對iOS開發中滾動視圖UIScrollView有了一個清晰的認識和理解。

責任編輯:閆佳明 來源: oschina
相關推薦

2011-08-15 11:23:41

iPhone開發循環滾動UIScrollVie

2013-07-25 13:35:14

iOS開發學習UIScrollVietouchesBega

2014-06-23 10:42:56

iOS開發UIScrollVie

2015-01-20 17:15:55

iOS源碼滾動視圖

2013-06-14 13:31:30

iOS開發移動開發警告視圖

2011-08-03 17:32:17

IOS UIScrollVi touch

2014-12-17 15:01:01

滾動視圖Instagram源碼

2014-09-02 10:55:25

iOS開發視圖切換

2015-12-23 09:16:33

ios動畫渲染機制

2015-12-30 14:16:05

iOS動畫視圖渲染

2011-06-15 17:28:23

Qt 多視圖 架構

2015-07-13 14:05:32

ios開發多表視圖

2015-03-03 09:19:12

UIScrollVie

2015-07-06 10:48:56

iOS開發技巧

2012-05-09 10:58:25

JavaMEJava

2013-06-14 13:50:28

iOS開發移動開發警告視圖

2013-01-14 11:40:50

IBMdW

2014-12-31 13:49:34

ScrollViewScroll ViewParallax

2014-12-31 15:26:57

iOS8iMessageswift

2009-08-28 17:51:40

iPhone多視圖開發
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲播放 | 日韩中文字幕网 | 国产激情在线 | 国产成人免费视频网站视频社区 | 日本久久精品视频 | 久久综合亚洲 | 日本aa毛片a级毛片免费观看 | 超碰在线97国产 | 羞羞网站免费 | 天天干狠狠操 | 亚洲一区中文字幕 | 人人草天天草 | 成人激情视频免费在线观看 | 成人做爰9片免费看网站 | 国产黄色av网站 | 九色 在线 | 久久aⅴ乱码一区二区三区 亚洲国产成人精品久久久国产成人一区 | 自拍视频国产 | 盗摄精品av一区二区三区 | 国产真实精品久久二三区 | 国产精品色哟哟网站 | 国产精品电影在线观看 | 久久久久久久久久久久久9999 | av一级久久 | 精精国产xxxx视频在线播放7 | 欧美激情五月 | 一区二区三区精品视频 | 99亚洲精品| 精品欧美一区二区三区久久久小说 | 国产精品夜夜夜一区二区三区尤 | 日日操av | 男女视频在线看 | 国产农村妇女毛片精品久久麻豆 | 亚洲精品视频一区 | 国产精品av久久久久久久久久 | 福利二区 | 四虎伊人| 欧美黄色片 | 久久99精品久久久久蜜桃tv | 国产精品亚洲一区二区三区在线观看 | av网站免费看 |