Как установить размер ячейки коллекции, точно равный представлению коллекции в iOS?

Я хочу установить представление коллекции, где он отображается только один элемент в то время, и он прокручивается по горизонтали. Я хочу знать, как установить одинаковый размер для обоих, если представление коллекции имеет равную ширину с надписью (размер телефона).

Любая помощь будет действительно оценена.

3 Solutions collect form web for “Как установить размер ячейки коллекции, точно равный представлению коллекции в iOS?”

если вы хотите добавить его программно, вы можете попробовать следующее:

lazy var collectionView: UICollectionView = { let layout = UICollectionViewFlowLayout() layout.scrollDirection = .horizontal layout.minimumLineSpacing = 0 let cv = UICollectionView(frame: .zero, collectionViewLayout: layout) cv.backgroundColor = .white cv.delegate = self cv.dataSource = self cv.isPagingEnabled = true cv.showsHorizontalScrollIndicator = false return cv }() 

Попробуйте этот код:

Чтобы настроить направление прокрутки коллекцииView Programmically.

 override func viewDidLoad() { super.viewDidLoad() if let layout = collectionView.collectionViewLayout as? UICollectionViewFlowLayout { layout.scrollDirection = .horizontal } } 

Чтобы установить layoutView layout

  func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAtIndexPath indexPath: IndexPath) -> CGSize { let layout = collectionView.collectionViewLayout as! UICollectionViewFlowLayout layout.sectionInset = UIEdgeInsets(top: 0, left: 0, bottom: 0, right: 0) layout.minimumInteritemSpacing = 0 layout.minimumLineSpacing = 0 layout.invalidateLayout() return CGSize(width: self.view.frame.width, height:(self.view.frame.height) // Set your item size here } 

Примечание. Работа с макетами протестирована в Swift 3. Но я хочу, чтобы вы рассмотрели возможность использования просмотра страницы. Если вы не передаете какие-либо данные из CollectionView.

Простой ответ:

Добавьте UICollectionViewDelegateFlowLayout в свой класс, а затем используйте этот метод:

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

чтобы сделать его горизонтальным:

введите описание изображения здесь

  • Остановить одиночную ячейку UICollectionView Пролистать в центр экрана
  • Пользовательский порядок упорядочивания ячеек в CollectionView
  • UICollectionView reloadItemsAtIndexPaths замедляется с большим количеством UICollectionViewCells
  • iOS: управление пользовательским интерфейсом, когда изображения загружаются в отдельный поток
  • Почему сильная ссылка на родительский UIViewController в executeBatchUpdates теряет активность?
  • Представление дерева представлений коллекции
  • UICollectionView и ScrollView внутри Вид с вертикальной прокруткой
  • UICollectionView вставляет ячейки выше поддерживающего положения (например, Messages.app)
  • Горизонтальное UICollectionView с UIRefreshControl
  • Как создать этот макет в CollectionView
  • Методы UICollectionViewDelegateFlowLayout, не вызываемые при вращении
  • UICollectionView cell.ViewWithTag возвращает nil для UILabel
  • PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.