UIScrollView+PageControl實現(xiàn)分頁效果

  • 分頁功能(重點)
    • 如果圖片名稱有規(guī)律钦讳,尺寸也有規(guī)律梆惯,那么可以用for循環(huán) 創(chuàng)建imageView

    • 設(shè)置contentSize = CGSizeMake (圖片個數(shù)*W,H)

      • 細(xì)節(jié):contentSize = CGSizeMake(圖片個數(shù)*H,O)高度設(shè)置0也可以
      • O代表在垂直方向不能滾動
    • 隱藏滾動條

      • storyboard :showsHorzontal勾掉
      • 代碼 :showsHorizontal
    • 開啟分頁功能:pagingEnabled = YES

      • 分頁標(biāo)準(zhǔn):以scrollView的尺寸為一頁
    • 顯示頁碼

      • storyboard:UIPage Control控件
        • 因為UIPage Control控件是scrollView的子控件會被scrollView擋住
        • UIPageControl和scrollView同層級章鲤,才不會被擋住
    • 監(jiān)聽滾動,改變頁碼

      • currentPage
      • 1.當(dāng)scrollView停止?jié)L動的時候顯示頁碼(蘋果)
        • scrollViewDidEndDraggin: willDecelerate:
          • decelerate == NO
            • 計算頁碼,設(shè)置頁碼
        • scrollViewDidEndDcelerating:
          • 計算頁碼: 偏移量的x值除以scrollView的寬度
          • 設(shè)置頁碼:currentPage = page
      • 2.哪邊圖片顯示比例大田盈,就滾動到哪一頁(示例程序)
        • scrollViewDidScroll:
          • 四舍五入:(int)(小數(shù) + 0.5)
          • page = (int) (contentOffset.x /scrollView.size.W + 0.5)
    • 手動設(shè)置總頁數(shù)

      • numberOfPages = 圖片個數(shù)
      • 圖片個數(shù)為1時候,隱藏pageControl
        • 設(shè)置pageControl.alpha = 0.0
        • pageControl.hidden = YES
        • hidesForSinglePage = YES
    • pageControl顯示自定義的圖片

      • 當(dāng)前頁顯示current
      • 其他頁顯示other
      • xcode6.4頭文件中有成員變量
        - xcode6.4之后變成私有的屬性
      • 私有:currentPageImage
      • 私有:pageImage
      • KVC:
        • self.pageControl setValue:[UIImage imageNamed:@"current"]forKeyPath:@"_currentPageImage"
        • self.pageControl setValue:[UIImage imageNamed:@"other"]forKeyPath:@"_pageImage"
    • 每隔一段時間滾動到下一頁

      • 定時器:每隔一段時間做一件事情

        • [NSTimer scheduledTimerWithTimeInterval:target:selector:userInfo:repeats:YES]
      • 計算下一頁頁碼:當(dāng)前頁碼 + 1

        • currentPage + 1
        • setContentOffset: (頁碼*scrollView的寬度缴阎,0)animated:
  • 補(bǔ)充:
    • 定時器一直在工作允瞧,當(dāng)用戶想往前滾動的時候,圖片卻一直往后滾動
    • 當(dāng)用戶操作界面的時候蛮拔,讓定時器停止
      • scrollViewWillBeginDragging: 用戶即將拖拽scrollView

        • 停止定時器
        • 定義定時器屬性weak,內(nèi)部有一個看不見的指針在引用
        • [self.timer invalidate]
        • self.timer = nil(屬性是strong時才寫)
      • scrollViewDidEndDragging:用戶已經(jīng)停止拖拽

        • 開啟定時器
        • NSTimer scheduledTimerWithTimeInterval:
        • 開啟定時器方法返回的是一個自動執(zhí)行任務(wù)的定時器
      • 最好將開啟定時器述暂,停止定時器抽兩個方法

      • 問題:頻繁創(chuàng)建、銷毀定時器對象

        • 定時器特點決定的
    • 注意定時器方法里语泽,userInfo的作用
  • 線程
    • 線程:用來執(zhí)行任務(wù)的
      • 特點:同一時間只能執(zhí)行一個任務(wù)
    • 主線程:程序一啟動贸典,就會創(chuàng)建一條默認(rèn)的線程
      • 作用:負(fù)責(zé)顯示刷新UI界面,處理與用戶的交互事件
    • [[NSRunloop mainRunloop] addTimer:self.timer forMode:NSRunLoopCommonModes]將定時器添加到runLoop中
      • 目的:不管主線程在做什么操作踱卵,都要分配一定的時間處理定時器
      • NSDefaultRunLoopMode:默認(rèn)廊驼,同一時間只能執(zhí)行一個任務(wù)
      • NSRunLoopCommonModes:公用,分配一定的事件處理其他任務(wù)
    • 多線程原理:1s——>一萬個0.0001s
      • cpu在多個任務(wù)中來回快速切換
      • 感覺同時執(zhí)行惋砂,那是假象
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末妒挎,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子西饵,更是在濱河造成了極大的恐慌酝掩,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,546評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件眷柔,死亡現(xiàn)場離奇詭異期虾,居然都是意外死亡原朝,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,224評論 3 395
  • 文/潘曉璐 我一進(jìn)店門镶苞,熙熙樓的掌柜王于貴愁眉苦臉地迎上來喳坠,“玉大人,你說我怎么就攤上這事茂蚓『攫模” “怎么了?”我有些...
    開封第一講書人閱讀 164,911評論 0 354
  • 文/不壞的土叔 我叫張陵聋涨,是天一觀的道長晾浴。 經(jīng)常有香客問我,道長牍白,這世上最難降的妖魔是什么脊凰? 我笑而不...
    開封第一講書人閱讀 58,737評論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮淹朋,結(jié)果婚禮上笙各,老公的妹妹穿的比我還像新娘。我一直安慰自己础芍,他們只是感情好杈抢,可當(dāng)我...
    茶點故事閱讀 67,753評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著仑性,像睡著了一般惶楼。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上诊杆,一...
    開封第一講書人閱讀 51,598評論 1 305
  • 那天歼捐,我揣著相機(jī)與錄音,去河邊找鬼晨汹。 笑死豹储,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的淘这。 我是一名探鬼主播剥扣,決...
    沈念sama閱讀 40,338評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼铝穷!你這毒婦竟也來了钠怯?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,249評論 0 276
  • 序言:老撾萬榮一對情侶失蹤曙聂,失蹤者是張志新(化名)和其女友劉穎晦炊,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,696評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡断国,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,888評論 3 336
  • 正文 我和宋清朗相戀三年贤姆,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片稳衬。...
    茶點故事閱讀 40,013評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡庐氮,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出宋彼,到底是詐尸還是另有隱情,我是刑警寧澤仙畦,帶...
    沈念sama閱讀 35,731評論 5 346
  • 正文 年R本政府宣布输涕,位于F島的核電站,受9級特大地震影響慨畸,放射性物質(zhì)發(fā)生泄漏莱坎。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,348評論 3 330
  • 文/蒙蒙 一寸士、第九天 我趴在偏房一處隱蔽的房頂上張望檐什。 院中可真熱鬧,春花似錦弱卡、人聲如沸乃正。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,929評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽瓮具。三九已至,卻和暖如春凡人,著一層夾襖步出監(jiān)牢的瞬間名党,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,048評論 1 270
  • 我被黑心中介騙來泰國打工挠轴, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留传睹,地道東北人。 一個月前我還...
    沈念sama閱讀 48,203評論 3 370
  • 正文 我出身青樓岸晦,卻偏偏與公主長得像欧啤,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子委煤,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,960評論 2 355

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