Ios ipad和iphone的自动高度

Ios ipad和iphone的自动高度,ios,swift,xcode,Ios,Swift,Xcode,我用Xcode制作应用程序,但我的问题是,当我在iPad上打开应用程序时,它会缩小高度,我想为iPad和iPhone添加自动高度。这是我的密码 func collectionView(_ collectionView:UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize{ return CGSi

我用Xcode制作应用程序,但我的问题是,当我在iPad上打开应用程序时,它会缩小高度,我想为iPad和iPhone添加自动高度。这是我的密码

 func collectionView(_ collectionView:UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize{
        return CGSize(width: view.frame.width-20 , height: 200)
    }
这是cellview

 override func awakeFromNib() {
        super.awakeFromNib()

        title.numberOfLines = 2
        let layer = CAGradientLayer()
        layer.frame = CGRect.init(x: 0, y: 0, width: UIScreen.main.bounds.width, height: 400)
        let top = UIColor.clear.cgColor
        let bottom = UIColor(red: 0 / 255, green: 0 / 255, blue: 0 / 255, alpha: 1.0).cgColor
        layer.colors = [top, bottom]
        layer.opacity = 1.7
        imageArticle.layer.insertSublayer(layer, at: 0)
        self.layer.cornerRadius = 4.0
谢谢

对于iPhone,它看起来是这样的

iPad的高度是这样的

您可以使用以下功能:

func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
    if UIScreen.main.bounds.size.height < 570{ //Write iPhone or iPad size. If iPad :
        return CGSize(width: (((collectionView.frame.width) - 20) / 2), height: (collectionView.frame.height) - 70)
    } else { //if iPhone
        return CGSize(width: (((collectionView.frame.width) - 20) / 2), height: (collectionView.frame.height) / 2)
    }
}
func collectionView(collectionView:UICollectionView,布局collectionViewLayout:UICollectionViewLayout,sizeForItemAt indexPath:indexPath)->CGSize{
如果UIScreen.main.bounds.size.height<570{//写iPhone或iPad大小。如果iPad:
返回CGSize(宽度:((collectionView.frame.width)-20)/2),高度:(collectionView.frame.height)-70)
}否则{//iPhone
返回CGSize(宽度:((collectionView.frame.width)-20)/2),高度:(collectionView.frame.height)/2)
}
}
根据需要设置宽度和高度


希望它能帮助…

使用设备高度作为collectionview单元格

func collectionView(_ collectionView:UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize{
        return CGSize(width: view.frame.width-20 , height: view.frame.height)
}

问题还不清楚。请编辑您的问题并添加更多详细信息、屏幕截图等。编辑后,请立即检查@Kirander,它不会缩小高度。它会改变纵横比,因为您的高度是200,但宽度会改变