3

Я использую раскадровку для своего проекта, и я хочу, чтобы сцена была UICollectionViewController подклассом, у которого UICollectionView используется подкласс UICollectionViewLayout.Настройка подкласса UICollectionViewLayout в раскадровке

Я установил это в раскадровке, и я пытаюсь изменить «Пользовательский класс» экземпляра макета коллекции.

Вот захват экрана объекта макета, я выбрал в раскадровке:

Storyboard object tree with <code>UICollectionViewLayout</code> selected

Вот захват экрана «Идентичность» инспектор панели раскадровки, показывающий поле «Пользовательский класс», что я меняется (это в верхней части):

Storyboard Identity inspector showing "Custom Class"

Когда я пытаюсь изменить «Custom Class», я могу изменить тип вещи в, но после сохранения, то он возвращается назад, чтобы быть по умолчанию UICollectionViewFlowLayout. Если я запускаю проект, используется значение по умолчанию UICollectionViewFlowLayout, даже если это не настраиваемый класс, который я задал.

Как настроить собственный класс макета, пожалуйста?

ответ

8

Подход, который вы использовали, обычно позволяет вам изменять класс экземпляра в раскадровке. Однако для UICollectionView вам нужно сделать что-то немного другое.

Вместо того, чтобы выбрать экземпляр UICollectionViewLayout себя и корректировки его параметров пользовательского класса, выберите экземпляр UICollectionView, как показано в этом захват экрана:

Storyboard object tree with <code>UICollectionView</code> instance selected

Теперь в раскадровке инспектора, выберите Панель инспекторов «Атрибуты» для экземпляра UICollectionView. Вы увидите что-то вроде этого:

Storyboard Attributes inspector with "Flow" selected

Вы должны изменить «Layout» поле со списком, так что вместо «Flow» выбран «Custom» выбран. Текстовое поле затем будет появляться, чтобы установить UICollectionViewLayout пользовательский подкласс, например:

Storyboard Attributes inspector with "Custom" selected

+0

Спасибо так много для этого ясного объяснения. Эта несогласованность в том, что пользовательские классы выбраны для макетов, которые меня насторожили 2 дня. :( – motionpotion

+0

:-) Я рад, что у вас есть решение сейчас, но беспокоитесь, что вам пришлось искать несколько дней - мне тоже понадобилось время! У меня есть привычка проверять С. О. если что-то потребует от меня более нескольких минут, чтобы поработать. Тогда, по крайней мере, вы знаете, если это что-то, с чем вы столкнулись, или есть известное решение! – Benjohn

Смежные вопросы