/* * Copyright (c) Meta Platforms, Inc. and affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ import IGListDiffKit import IGListKit import Messages import UIKit @available(iOSApplicationExtension 10.0, *) final class MessagesViewController: MSMessagesAppViewController, ListAdapterDataSource { lazy var adapter: ListAdapter = { return ListAdapter(updater: ListAdapterUpdater(), viewController: self) }() let collectionView = UICollectionView(frame: CGRect.zero, collectionViewLayout: UICollectionViewFlowLayout()) let data = "Maecenas faucibus mollis interdum. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit.".components(separatedBy: " ") override func viewDidLoad() { super.viewDidLoad() adapter.collectionView = collectionView adapter.dataSource = self view.addSubview(collectionView) } override func loadView() { view = UIView(frame: CGRect(x: 0, y: 0, width: 320, height: 200)) } override func viewDidLayoutSubviews() { super.viewDidLayoutSubviews() collectionView.frame = view.bounds } // MARK: ListAdapterDataSource func objects(for listAdapter: ListAdapter) -> [ListDiffable] { return data as [ListDiffable] } func listAdapter(_ listAdapter: ListAdapter, sectionControllerFor object: Any) -> ListSectionController { return LabelSectionController() } func emptyView(for listAdapter: ListAdapter) -> UIView? { return nil } }