加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ios – 调整cellize以适合所有屏幕?

发布时间:2020-12-15 01:41:17 所属栏目:百科 来源:网络整理
导读:我正在尝试将我的应用程序适用于所有屏幕,但我无法弄清楚如何.是否可以根据屏幕调整单元格的大小?目前我只是配置我的UICollectionView如下: func numberOfSections(in collectionView: UICollectionView) - Int { // #warning Incomplete implementation,r
我正在尝试将我的应用程序适用于所有屏幕,但我无法弄清楚如何.是否可以根据屏幕调整单元格的大小?目前我只是配置我的UICollectionView如下:

func numberOfSections(in collectionView: UICollectionView) -> Int {
        // #warning Incomplete implementation,return the number of sections
        return 1
    }


    func collectionView(_ collectionView: UICollectionView,numberOfItemsInSection section: Int) -> Int {
        // #warning Incomplete implementation,return the number of items
        return fields.count
    }

    func collectionView(_ collectionView: UICollectionView,cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
        let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "Cell",for: indexPath) as! FieldDistributionCollectionViewCell


        cell.frame.size = CGSize(width: ?,height: ?)
        return cell
    }

有推荐的方法吗?或者我是否需要确定手机的版本并手动设置大小?在较小的屏幕(4,4s)上,我只想要2列,但是(5,5s,6,6s)上有3列.我基本上只希望单元格大小适合正确的分辨率.

解决方法

试试这个代码:

从collectionView的协议实现以下功能:

// cell size
 func collectionView(collectionView: UICollectionView,layout collectionViewLayout: UICollectionViewLayout,sizeForItemAtIndexPath indexPath: NSIndexPath) -> CGSize {

  // To get 1 column
 return CGSize(width: view.frame.size.width,height: view.frame.size.width)

 // To get 2 column
 //return CGSize(width: view.frame.size.width/2,height: view.frame.size.width/2)

 // To get 3 column
 // return CGSize(width: view.frame.size.width/3,height: view.frame.size.width/3)

 // Toget 4 column
 // return CGSize(width: view.frame.size.width/4,height: view.frame.size.width/4)
  }

…视图是控制器的(超级)视图

// inter-spacing

func collectionView(collectionView: UICollectionView,minimumInteritemSpacingForSectionAtIndex section: Int) -> CGFloat {
return 2.0
}

// line-spacing

func collectionView(collectionView: UICollectionView,layout
    collectionViewLayout: UICollectionViewLayout,minimumLineSpacingForSectionAtIndex section: Int) -> CGFloat {
return 2.0
}

CollectionView布局原理.

enter image description here

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读