2015-09-06 164 views
2

我想讓一個集合視圖的單元格顯示出來,它們之間有相等的間距,很難弄清楚如何用AutoLayout來做到這一點,所以我寫了一段代碼它檢測屏幕寬度並從200,150和100像素的3種設計中挑選特定的可重用單元格(可能考慮添加/刪除更多像圖標,文字等任何東西,取決於它們的寬度,所以我有點想要這個奇怪的東西方法)xcode swift UICollectionView佈局 - 單元格大小

code

可重複使用的細胞是:

cells

這實際上適用於大多數設備,至少在模擬器上相當不錯,比如這裏的一對5S

iphone 5s capture

的看法,但在iPhone 6這裏發生了什麼:

iphone 6 capture

當然,我想讓它們均勻分佈在所有設備上。

我試着玩layout.minimumInteritemSpacing,但它似乎沒有任何效果。

如果有人能指出我正確的方向,將不勝感激。我知道有很多AutoLayout指南和問題,但是我幾天前剛剛開始使用Swift,儘管這裏有很多答案,但似乎沒有一個適用於這種情況。

TIA

+0

感謝您的支持!我採取了一種相反的方式來回答你的問題。我首先確定了我想要的間距和插圖,然後根據這些參數計算出適用於每種設備尺寸的項目尺寸。這消除了對間距計算的需要。 – ClareHuxtable

回答

0

這裏確定是我剛剛得到如何工作的:

1)我計算單元的安裝屏幕

2)計算的可用空間數量

var available_ spacing = screenWidth % cell_width 

2)計算包括內部邊距和集合「填充」的空間數量,基本上是num_cells -1 + 2(邊框)

3)劃分的可用空間,並加入所得到的數字在sectionInset定義左側和右側邊界,而且還使用minimumInteritemspacing

細胞之間的細胞現在佈置好的甚至間距和邊界。希望這可以幫助其他人......因爲我之前一直在玩這個遊戲幾個小​​時才決定在這裏發佈。

< 3!

相關問題