Kha*_*lad 0 ios uicollectionview uicollectionviewcell uicollectionviewlayout swift
我能够使用下面的函数更改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))
}
Run Code Online (Sandbox Code Playgroud)
小智 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")
}
}
}
Run Code Online (Sandbox Code Playgroud)
因此,请根据您的要求使用此设置高度和宽度.即使您可以执行/设置特定屏幕的布局.
希望它能帮到你.
| 归档时间: |
|
| 查看次数: |
808 次 |
| 最近记录: |