gpt4 book ai didi

ios - 根据屏幕大小更改 UICollectionView 单元格大小

转载 作者:行者123 更新时间:2023-11-28 09:53:28 25 4
gpt4 key购买 nike

我能够使用下面的函数更改 collectionView 单元格大小,但我如何才能使此函数适用于不同的屏幕尺寸。所以例如我希望 iPad 上的高度和宽度不同,iPhone 有办法做到这一点

func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
let width = UIScreen.main.bounds.width
let height = UIScreen.main.bounds.height
return CGSize(width: (width/5.5), height: (height/4.5))

}

最佳答案

它很容易检测屏幕尺寸,适用于 iPhone/iPad 的每个屏幕尺寸。只需关注这些内容即可。

func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize
{

if UIDevice().userInterfaceIdiom == .phone
{
switch UIScreen.main.nativeBounds.height
{
case 480:
print("iPhone Classic")
case 960:
print("iPhone 4 or 4S")

case 1136:
print("iPhone 5 or 5S or 5C")

case 1334:
print("iPhone 6 or 6S")
case 2208:
print("iPhone 6+ or 6S+")
default:
print("unknown")
}
}

if UIDevice().userInterfaceIdiom == .pad
{
if (UIDevice.current.userInterfaceIdiom == UIUserInterfaceIdiom.pad &&
(UIScreen.main.bounds.size.height == 1366 || UIScreen.main.bounds.size.width == 1366))
{
print("iPad Pro : 12.9 inch")
}
else if (UIDevice.current.userInterfaceIdiom == UIUserInterfaceIdiom.pad &&
(UIScreen.main.bounds.size.height == 1024 || UIScreen.main.bounds.size.width == 1024))
{
print("iPad 2")
print("iPad Pro : 9.7 inch")
print("iPad Air/iPad Air 2")
print("iPad Retina")
}
else
{
print("iPad 3")
}
}

}

所以根据您的要求使用它来设置高度和宽度。您甚至可以为特定屏幕执行/设置布局。

希望对你有帮助。

关于ios - 根据屏幕大小更改 UICollectionView 单元格大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42053010/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com