у меня есть collectionView, который занимает всю ширину экрана, как у меня хочет быть 10 колонн, у меня есть этот код:
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
let sizePantalla = UIScreen.main.bounds
let ancho = sizePantalla.width / CGFloat(10.0)
return CGSize(width: ancho, height: ancho)
Все в порядке, но я хотел бы, чтобы collectionView не занял всю ширину экрана, которая была более маленькой. Эта ширина не установлена в рисунке, но он изменится согласно устройству, в котором будет работать App. Это мое сомнение: как я получаю ширину collectionView?
В Уполномочь тебя collection view у тебя есть один parГЎmetro collectionView в func collectionView (_ collectionView: UICollectionView... это показывает тебе, что уполномочь тебя, посылает тебя parГЎmetro настоящего collectionview. Ло Гєnico, которого ты должен делать, состоит в том, чтобы менять sizePantalla.width из-за collectionview.frame.width в тебе cГіdigo, asГ - ширину всегда dependerГЎ collectionview и не sizePantalla, cГіdigo quedarГ - во что-то asГ-:
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
// calculando ancho
let ancho = collectionView.frame.width / CGFloat(10.0)
// calculando alto (suponiendo que también quieres 10 renglones por pantalla)
let alto = collectionView.frame. height / CGFloat(10.0)
return CGSize(width: ancho, height: alto)
}