最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

iOS 解決UICollectionView 計(jì)算 Cell 大小的問題

 更新時(shí)間:2016年07月22日 09:38:47   投稿:lqh  
本文主要介紹iOS UICollectionView,這里給大家一個(gè)實(shí)例代碼作為參考,并指出經(jīng)常遇到的問題和解決辦法,希望能幫助有需要的小伙伴

前言

  API 不熟悉導(dǎo)致的問題,想當(dāng)然的去理解果然會(huì)出問題,這里記錄一下 UICollectionView 使用問題。

正文

  陷阱一:minimumLineSpacing、minimumInteritemSpacing

    很容易就把這兩個(gè)屬性設(shè)置為 0 ,這兩個(gè)屬性是最小行間距和最小列間距,注意是最?。。∫簿褪钦f實(shí)際上可以 > 0 ,并不是間距就是 0

  陷阱二:sectionInset

    設(shè)置 cell 的邊距。一開始我以為是每一個(gè) cell 的邊距,相鄰之間會(huì)疊加效果,實(shí)際上并不是這樣的,這個(gè)屬性只是保證相鄰之間的間距,并不疊加??!

  理解了上面兩個(gè)陷阱,我們就可以精確計(jì)算 Cell 的大小了,再來(lái)設(shè)置 itemSize 的大小才會(huì)正確。例如:

 let ITEM_MIN_WIDTH: CGFloat = 300
  let ITEM_SPACING: CGFloat = 6

  func resizeCollectionView(size: CGSize) {
    if let layout = collectionView?.collectionViewLayout as? UICollectionViewFlowLayout {
      layout.minimumLineSpacing = ITEM_SPACING
      layout.minimumInteritemSpacing = ITEM_SPACING

      var itemCount = Int(size.width / ITEM_MIN_WIDTH)
      if itemCount == 0 {
        itemCount = 1
      }

      if itemCount == 1 {
        layout.itemSize = CGSizeMake(size.width, size.width * 10 / 16)
        layout.sectionInset = UIEdgeInsetsMake(6, 0, 0, 0)
      } else {
        let width = (size.width - CGFloat((itemCount + 1)) * ITEM_SPACING) / CGFloat(itemCount)
        layout.itemSize = CGSizeMake(width, width * 10 / 16)
        layout.sectionInset = UIEdgeInsetsMake(ITEM_SPACING, ITEM_SPACING, 0, ITEM_SPACING)
      }
      collectionView?.layoutIfNeeded()
    }
  }

代碼說明:

  傳入當(dāng)前 view 的 size ,動(dòng)態(tài)計(jì)算 cell 大小,可以方便的適配 iPhone/iPad ,單列時(shí)隱藏兩邊邊距,多列時(shí)顯示兩邊間隙。

以上就是對(duì)IOS UICollectionView 用法和說明,希望能幫助 IOS開發(fā)的朋友。

相關(guān)文章

  • iOS發(fā)送驗(yàn)證碼倒計(jì)時(shí)應(yīng)用

    iOS發(fā)送驗(yàn)證碼倒計(jì)時(shí)應(yīng)用

    點(diǎn)擊發(fā)送驗(yàn)證碼button。倒計(jì)時(shí)開始,這篇文章就為大家詳細(xì)介紹了iOS發(fā)送驗(yàn)證碼倒計(jì)時(shí)應(yīng)用的實(shí)現(xiàn)方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-12-12
  • 深入理解IOS控件布局之Masonry布局框架

    深入理解IOS控件布局之Masonry布局框架

    本篇文章主要介紹了深入理解IOS控件布局之Masonry布局框架 ,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧
    2017-02-02
  • iOS 屏幕解鎖文字動(dòng)畫效果

    iOS 屏幕解鎖文字動(dòng)畫效果

    這篇文章主要介紹了iOS 屏幕解鎖文字動(dòng)畫效果的相關(guān)資料,需要的朋友可以參考下
    2016-09-09
  • IOS實(shí)現(xiàn)郵箱模糊匹配的功能

    IOS實(shí)現(xiàn)郵箱模糊匹配的功能

    在一些App的訂單填寫頁(yè),輸入用戶郵箱有個(gè)提示郵箱后綴的功能,很好用!還可以根據(jù)各個(gè)郵箱類型用戶量來(lái)做一個(gè)優(yōu)先級(jí)的匹配哦。這個(gè)功能該如何實(shí)現(xiàn)呢,下面來(lái)一起看看。
    2016-08-08
  • iOS開發(fā)之在列表上方添加水印的方法

    iOS開發(fā)之在列表上方添加水印的方法

    這篇文章主要給大家介紹了關(guān)于iOS開發(fā)之在列表上方添加水印的相關(guān)資料,文中給出了詳細(xì)的示例代碼供需要的朋友們參考學(xué)習(xí),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2018-08-08
  • iOS設(shè)計(jì)模式——Category簡(jiǎn)單介紹

    iOS設(shè)計(jì)模式——Category簡(jiǎn)單介紹

    這篇文章主要介紹了iOS設(shè)計(jì)模式——Category簡(jiǎn)單介紹,有興趣學(xué)習(xí)的同學(xué)可以了解一下。
    2016-11-11
  • iOS Tabbar中間添加凸起可旋轉(zhuǎn)按鈕功能

    iOS Tabbar中間添加凸起可旋轉(zhuǎn)按鈕功能

    最近的項(xiàng)目中有需求在tabbar中間添加凸起按鈕,并且點(diǎn)擊時(shí)按鈕要旋轉(zhuǎn),看了仿斗魚的凸起,點(diǎn)擊后是present出來(lái)View,這篇文章主要介紹了iOS Tabbar中間添加凸起可旋轉(zhuǎn)按鈕,需要的朋友可以參考下
    2017-12-12
  • iOS動(dòng)畫特效之立方體翻轉(zhuǎn)

    iOS動(dòng)畫特效之立方體翻轉(zhuǎn)

    今天起為大家?guī)?lái)iOS動(dòng)畫特效合集之立方體翻轉(zhuǎn),APP如美女,動(dòng)畫如衣裳,趕緊為她披上漂亮的衣裝吧!
    2016-08-08
  • iOS 高效的分頁(yè)加載實(shí)現(xiàn)示例

    iOS 高效的分頁(yè)加載實(shí)現(xiàn)示例

    本篇文章主要介紹了iOS 高效的分頁(yè)加載實(shí)現(xiàn)示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧
    2017-10-10
  • iOS圖片拉伸技巧(iOS5.0、iOS6.0)

    iOS圖片拉伸技巧(iOS5.0、iOS6.0)

    這篇文章主要為大家詳細(xì)介紹了iOS圖片拉伸技巧,提供了3種圖片拉伸的解決方案,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-01-01

最新評(píng)論

五原县| 长汀县| 北安市| 渭源县| 依安县| 崇明县| 灵璧县| 彭阳县| 普安县| 永康市| 务川| 高台县| 翼城县| 石阡县| 盐亭县| 驻马店市| 舟山市| 龙门县| 霍林郭勒市| 兴化市| 金塔县| 阳朔县| 谢通门县| 霍林郭勒市| 改则县| 塔城市| 长武县| 乌恰县| 彩票| 子长县| 柳州市| 繁昌县| 太仆寺旗| 醴陵市| 祁连县| 焉耆| 城固县| 耒阳市| 玉门市| 安溪县| 特克斯县|