swift UICollectionView Item重新排序 橫向排序

我們一般情況下,自定義的collectionview item排序出來的效果是這樣的!

一般情況下實現(xiàn)效果

這樣就會出現(xiàn)不夠一屏?xí)r,最上面一行無法補齊,或者最重要的,你的產(chǎn)品經(jīng)理覺得你和安卓的顯示有差別!

所以就有重新排序,拿到所有的item 并重新

那么,就要重寫UICollectionViewFlowLayout的類

寫一個類集成于UICollectionViewFlowLayout

func targetPositionWithItem(item: Int, resultX x: inout Int?, resultY y: inout Int?) {
       let page = item / (self.itemCountPerRow * self.rowCount)
       let theX = item % self.itemCountPerRow + page * self.itemCountPerRow
      let theY = item / self.itemCountPerRow - page * self.rowCount
      if x != nil {
          x = theX
      }
      if y != nil {
          y = theY
      }
  }

.

   func originItemAtX(x: Int, y: Int) -> Int {
    let item = x * self.rowCount + y
    return item
}

實現(xiàn)效果
效果

項目還做了關(guān)于collectionView整屏滑動的實現(xiàn),
就是對所拿到的模型進行整數(shù)填充

 // 這是關(guān)于如何讓 item 整屏滑動對模型的操作 就是讓數(shù)組補齊一屏 把空的UI隱藏并對didSelect方法進行判斷
// 這里有第一屏不滿少于5個對整個collectionview的高度進行改變

    var activityModel = [lawActivityinfo]() {
    didSet {
        pageControl.numberOfPages = self.activityModel.count / 8 + 1
        if activityModel.count < 5 {
            self.mineLayout.rowCount = 1
            let fix4 = activityModel.count % 4
            let num4 = Int(4 - fix4)
            if fix4 > 0 {
                for _ in 1...num4 {
                    let model = lawActivityinfo()
                    activityModel.append(model)
                }
            }
            self.collectionView.snp.updateConstraints({ (make) in
                make.height.equalTo(Screen.autoScaleH(h: 120))
            })
            pageControl.frame = CGRect(x: 0, y: Screen.autoScaleH(h: 120) + 3, width: Screen.width, height: 10)
        } else {
            self.mineLayout.rowCount = 2
            let fix = activityModel.count % 8
            let fixNum = Int(8 - fix)
            if fix > 0 {
                for _ in 1...fixNum {
                    let model = lawActivityinfo()
                    activityModel.append(model)
                }
            }
            self.collectionView.snp.updateConstraints({ (make) in

                make.height.equalTo(Screen.autoScaleH(h: 230))
            })
            pageControl.frame = CGRect(x: 0, y: Screen.autoScaleH(h: 230) + 3, width: Screen.width, height: 10)

        }
        dog(activityModel.count)

        collectionView.reloadData()
    }
}

如果還有更好的實現(xiàn)方法請多多指教~~~

github: https://github.com/SummerOO/myCollectionView

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末码秉,一起剝皮案震驚了整個濱河市嘹害,隨后出現(xiàn)的幾起案子池凄,更是在濱河造成了極大的恐慌,老刑警劉巖另萤,帶你破解...
    沈念sama閱讀 218,284評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異桩匪,居然都是意外死亡月匣,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,115評論 3 395
  • 文/潘曉璐 我一進店門脓鹃,熙熙樓的掌柜王于貴愁眉苦臉地迎上來逸尖,“玉大人,你說我怎么就攤上這事瘸右〗扛” “怎么了?”我有些...
    開封第一講書人閱讀 164,614評論 0 354
  • 文/不壞的土叔 我叫張陵太颤,是天一觀的道長苞俘。 經(jīng)常有香客問我,道長龄章,這世上最難降的妖魔是什么吃谣? 我笑而不...
    開封第一講書人閱讀 58,671評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮做裙,結(jié)果婚禮上岗憋,老公的妹妹穿的比我還像新娘。我一直安慰自己锚贱,他們只是感情好仔戈,可當(dāng)我...
    茶點故事閱讀 67,699評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般监徘。 火紅的嫁衣襯著肌膚如雪晋修。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,562評論 1 305
  • 那天凰盔,我揣著相機與錄音墓卦,去河邊找鬼。 笑死户敬,一個胖子當(dāng)著我的面吹牛趴拧,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播山叮,決...
    沈念sama閱讀 40,309評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼著榴,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了屁倔?” 一聲冷哼從身側(cè)響起脑又,我...
    開封第一講書人閱讀 39,223評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎锐借,沒想到半個月后问麸,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,668評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡钞翔,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,859評論 3 336
  • 正文 我和宋清朗相戀三年严卖,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片布轿。...
    茶點故事閱讀 39,981評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡哮笆,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出汰扭,到底是詐尸還是另有隱情稠肘,我是刑警寧澤,帶...
    沈念sama閱讀 35,705評論 5 347
  • 正文 年R本政府宣布萝毛,位于F島的核電站项阴,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏笆包。R本人自食惡果不足惜环揽,卻給世界環(huán)境...
    茶點故事閱讀 41,310評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望庵佣。 院中可真熱鬧歉胶,春花似錦、人聲如沸秧了。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,904評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽验毡。三九已至衡创,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間晶通,已是汗流浹背璃氢。 一陣腳步聲響...
    開封第一講書人閱讀 33,023評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留狮辽,地道東北人一也。 一個月前我還...
    沈念sama閱讀 48,146評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像喉脖,于是被迫代替她去往敵國和親椰苟。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,933評論 2 355

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