Вопрос

Я знаю, что UiCollectionViewDelegateFlowlowout является протоколом, в то время как UICollectionViewlowlayout является классом, и я знаю разницу между протоколом и классом. Из моего понимания у меня может быть класс, чтобы следовать протоколу UiCollectionViewDelegengeFloLowlayout для достижения точно такого же эффекта, как имеющий класс, унаследованный от UiCollectionViewFlowlowlayout. Я достигаю этого заключения, найдя такие отношения между протоколом и классом: UICOLLECKVEWDELEGELELOWLOWOUT -------------- UICOLLECKVIELLOWLOUT. CollectionView: Макет: SizeForitematindexpath: ---- Детали CollectionView: Макет: ISTFORSECECTINDINDEX: ---- Раздел - CollectionView: Макет: РекомендацияФоружениеФоружением: - Головные органыресины - CollectionView: Макет: РекомендацияФорубаФору -Фотерэринсекция: - Бестовые изделия.

Я также прочитал следующее в ссылке протокола: «Все методы в этом протоколе являются необязательными. Если вы не реализуете определенный метод, делегат раскладки потока использует значения в своих собственных свойствах для соответствующей информации о интервате Итак, мое понимание: если коллекция имеет свойство макета и делегатфлорье, делегатфлорье может потенциально перезаписать что-то. Другими словами, я могу иметь оба, и протокол примет более высокий приоритет. Верно?

Так, какова логика, придуманная протокол и класс, который делает то же самое?

Это было полезно?

Решение

Класс макета потока - это своего рода «по умолчанию» раскладки потока, который работает во многих, если не большинство обстоятельств. Если вам нужно что-то, что UICollectionViewFlowlayout не может обрабатывать, то вы можете подкласс UICollectionViewlayout, чтобы обеспечить дополнительную функциональность.

Методы делегата просто предоставляют некоторую ограниченную настройку, через вызовы делегатов, для UICOLLECKELVEVELVELWIVEVELLOWLOUT.

Из документов «Протокол UICOLLECKEVEWDELEGELELLOWLOUTVELEGELELELOWOUT определяет методы, которые позволяют координации с объектом UiCollectionViewlowlayout для реализации макета на основе сетки. Способы этого протокола определяют размер элементов и расстояние между элементами в сетке». < / P >.

Они не делают то же самое; Протокол предусмотрен, чтобы позволить вам сделать что-то дополнительное, что раскладка потока без методов делегатов не делает по умолчанию. Протокол, действующий, дает вам больше «контроль». Вам не нужно использовать методы делегата, если вам это не нужно.

нет «приоритета»; Протокол необязательно. Итак, вы не используете протокол, если вы не используете UiCollectionViewFlowlayout.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top