• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

ios - Swift:collectionView 单元格

[复制链接]
菜鸟教程小白 发表于 2022-12-11 20:18:46 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我创建 collectionView 我有 3 个单元格。我希望我的单元格在所有设备的所有屏幕上看起来都像这样:

enter image description here

但我有 iPad 的这个结果。

enter image description here

如何解决?

更新

我在 UIViewController 中添加 collectionView。我对 collectionView 有这个限制:

enter image description here

调整我的单元格大小:

enter image description here

代码:

func numberOfSections(in collectionView: UICollectionView) -> Int {
        return 4
    }

    func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {

        return 3
    }

func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
    let itemsPerRow: CGFloat = 3
    let itemWidth = (collectionView.bounds.width / itemsPerRow)
    let itemHeight = itemWidth * 1.5
    return CGSize(width: itemWidth, height: itemHeight)
}



Best Answer-推荐答案


您需要自适应地更改单元格大小,否则该大小将不适用于所有屏幕尺寸。

你有你的函数,你返回单元格大小:

return CGSize(width: 182, height: 275)

相反,让它像这样自适应:

return CGSize(width: self.view.frame.width / 3, height: self.view.frame.height)

或者,为了中间有间隙,创建一个偏移量:

let offset = 10

let width = self.view.frame.width - offset * 4 // 4 gaps
let height = self.view.frame.height - offset * 2 // 2 gaps

return CGSize(width: width / 3, height: height) // Divide into equally-sized cells

当然,self.view 可以替换为您希望单元格适合的任何容器。

关于ios - Swift:collectionView 单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51121988/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap