UICollectionViewCell 自动调整大小?
UICollectionViewCell Auto Size?
例如,我们有一个 UICollectionView
全屏宽度。这有 3 100 x 100 像素的单元格。在我的 iPad 上,它会将这些分布在整个宽度上,在每个单元格之间留下较大的间隙,在屏幕较小的设备上自然会出现较小的间隙,即 iPhone.
是否可以根据屏幕宽度自动更改单元格宽度以消除这些间隙?我只想要预期的 5px 间距。
步骤 1: 实施 UICollectionViewDelegateFlowLayout
步骤 2: 使用 UICollectionViewDelegateFlowLayout.
的委托方法
func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAtIndexPath indexPath: NSIndexPath) -> CGSize
{
return CGSizeMake((UIScreen.mainScreen().bounds.width-10)/3,120); //use height whatever you wants.
}
第 3 步: 转至 XIB 或 StoryBoard,您的 CollectionView.
第 4 步: 在 XIB 或 StoryBoard 中 CollectionView 点击 CollectionView。
第 5 步: 转到 InterfaceBuilder,然后在倒数第二个选项卡(即:Size Inspector)中设置 Min Spacing
对于单元格 = 5
行 = 5
就是它。
例如,我们有一个 UICollectionView
全屏宽度。这有 3 100 x 100 像素的单元格。在我的 iPad 上,它会将这些分布在整个宽度上,在每个单元格之间留下较大的间隙,在屏幕较小的设备上自然会出现较小的间隙,即 iPhone.
是否可以根据屏幕宽度自动更改单元格宽度以消除这些间隙?我只想要预期的 5px 间距。
步骤 1: 实施 UICollectionViewDelegateFlowLayout
步骤 2: 使用 UICollectionViewDelegateFlowLayout.
的委托方法func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAtIndexPath indexPath: NSIndexPath) -> CGSize
{
return CGSizeMake((UIScreen.mainScreen().bounds.width-10)/3,120); //use height whatever you wants.
}
第 3 步: 转至 XIB 或 StoryBoard,您的 CollectionView.
第 4 步: 在 XIB 或 StoryBoard 中 CollectionView 点击 CollectionView。
第 5 步: 转到 InterfaceBuilder,然后在倒数第二个选项卡(即:Size Inspector)中设置 Min Spacing
对于单元格 = 5
行 = 5
就是它。