Swift 3: UICollectionView

Swift 3: UICollectionView

тот без раскадровки

Создание UICollectionView без раскадровки считается одной из лучших практик разработчиков. Мне нравится создавать UICollectionView программно, так как их проще создавать и при этом возникает очень мало ошибок. UICollectionView — это класс с широкими возможностями настройки для представления вашего контента практически в любом макете, который вы хотите. Вы можете создавать собственные макеты, поскольку это класс с широкими возможностями настройки для представления вашего контента практически в любом макете, который вы хотите.

С чего начать?

Создайте новый проект Xcode и соберите приложение, вы получите белый экран на симуляторе, что является хорошим началом. В настоящее время это приложение работает с раскадровкой, поэтому первым делом нужно удалить раскадровку из приложения. Если вы запустите приложение сейчас, оно должно вылететь из строя, но не беспокойтесь, так как ваше приложение не использует раскадровку и делает все в коде, также очень просто.

Полученная ошибка говорит о том, что вам не хватает раскадровки с именем main. Давайте исправим это, перейдя в общий раздел приложения и удалив ключевое слово main из основного интерфейса. Если вы снова запустите приложение, вы увидите черный экран, но приложение не выйдет из строя, так что это хорошо.

Поскольку у нас больше нет раскадровки, нам нужно создать окно вручную с помощью кода. В файле AppDelegate внутри метода didFinishLauncingOptions мы задаем свойства окну, задавая фрейм и делая окно видимым. Теперь, если вы запустите приложение, у вас будет еще один сбой, в котором говорится, что у вас нет rootViewController, поэтому мы назначаем корневой контроллер представления. Это также последний шаг строки если вам нужно создать приложение без раскадровки. Ниже приведен требуемый код.

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

Добавление collectionView в ваш контроллер!

Прежде всего, нам нужно создать подкласс ViewController от UIViewController до UICollectionViewController, который предоставляется Apple, и когда вы запустите приложение, оно выйдет из строя. Вы обнаружите неприятную ошибку, в которой указано, что параметр не равен нулю, что в основном означает, что вам не хватает макета.

Теперь, чтобы исправить это, давайте добавим макет в представление коллекции в файле AppDelegate, создав макет. Теперь, когда вы запустите приложение с новым макетом, приложение не выйдет из строя.

Ячейки и прочее…

Теперь, когда у нас есть представление коллекции, нам нужно добавить количество ячеек в представление, и мы делаем это с помощью метода numberOfItemsInSection. Допустим, нам нужно 5 ячеек. Следующее, что нам нужно сделать, это сообщить UICollectionViewController, какой тип ячейки нам нужно вернуть, и мы делаем это с помощью метода cellForItemAt indexPath .

Чтобы представление коллекции работало, нам нужно сначала зарегистрировать ячейку с соответствующим идентификатором, идентификатор — это просто строка. Это может немного сбивать с толку, но как только вы к этому привыкнете, это станет проще. И теперь остается только вывести из очереди ячейки с совпадающим идентификатором.

Последнее, что нам нужно сделать, это указать размер этих ячеек, и мы делаем это с помощью метода sizeForItemAt indexPath. Этот метод не будет работать, если в ViewController не включен UICollectionViewDelegateFlowLayout. Ниже приведен требуемый код.

Если вы запустите приложение сейчас, вы найдете симулятор с 5 красными блоками, которые можно прокручивать по вертикали. Вы можете добавлять свои собственные ячейки в каждый блок ..

В основном так вы строите представление коллекции. Apple предоставила фантастическую документацию, ознакомьтесь с UICollectionView документацией, экспериментируйте и исследуйте новые вещи.

Источник: ledsshop.ru

Стиль жизни - Здоровье!