Post

Replies

Boosts

Views

Activity

NSCollectionLayoutGroup custom does not work with orthogonalScrollingBehavior
Hi guys, I am trying to implement multiple cell types in one section with Compoisitonal Layout.I am trying to use custom group for section elements but with custom group implementation orthogonalScrollingBehavior does not work.     private func makeRestaurantCarouselLayout(sectionIndex: Int) -> NSCollectionLayoutSection? {         guard let delegate else { return nil } /// element will be showed in section         let items = delegate.getSectionItems(with: sectionIndex)         let customGroup = NSCollectionLayoutGroup.custom(layoutSize:                 .init(widthDimension: .fractionalWidth(1.0),                       heightDimension: .fractionalWidth(0.6)) ) { env in             var customItems = [NSCollectionLayoutGroupCustomItem]()             let restaurantCarouselWidth = env.container.contentSize.width * 85 / 100             let height = env.container.contentSize.height             let seeAllWidth = env.container.contentSize.width * 20 / 100             var lastXPosition: CGFloat = 8             let spaceBetweenItem: CGFloat = 8             for item in items {                 switch item {                 case .restaurantSliding:                     let frame = CGRect(                         x: lastXPosition,                         y: .zero,                         width: restaurantCarouselWidth,                         height: height                     )                     customItems.append(NSCollectionLayoutGroupCustomItem(frame: frame))                     lastXPosition += restaurantCarouselWidth + spaceBetweenItem                 case .seeAll:                     let frame = CGRect(                         x: lastXPosition,                         y: .zero,                         width: seeAllWidth,                         height: height                     )                     customItems.append(NSCollectionLayoutGroupCustomItem(frame: frame))                     lastXPosition += seeAllWidth + spaceBetweenItem                 default:                     continue                 }             }             return customItems         }         let section = NSCollectionLayoutSection(group: customGroup) /// not working         section.orthogonalScrollingBehavior = .continuous         section.contentInsets = .init(             top: 12,             leading: 0,             bottom: 8,             trailing: 0         )         return section     } So I am asking that how can I handle multiple cell type in one section ? If your answer is custom group how can I use orthogonalScrollingBehavior with custom group ? The other question to Apple there isn't any information or documentation about NSCollectionLayoutGroup.custom. Do you have plan to add documentation ? Documentation Link: https://developer.apple.com/documentation/uikit/nscollectionlayoutgroup/3213853-custom
0
0
635
Mar ’23