2016-11-01 14:48:28 +00:00
/* *
Copyright ( c ) 2016 - present , Facebook , Inc . All rights reserved .
The examples provided by Facebook are for non - commercial testing and evaluation
purposes only . Facebook reserves all rights not expressly granted .
THE SOFTWARE IS PROVIDED " AS IS " , WITHOUT WARRANTY OF ANY KIND , EXPRESS OR
IMPLIED , INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY ,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT . IN NO EVENT SHALL
FACEBOOK BE LIABLE FOR ANY CLAIM , DAMAGES OR OTHER LIABILITY , WHETHER IN AN
ACTION OF CONTRACT , TORT OR OTHERWISE , ARISING FROM , OUT OF OR IN CONNECTION
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE .
*/
import UIKit
import Messages
import IGListKit
2016-11-07 23:53:31 +00:00
final class MessagesViewController : MSMessagesAppViewController , IGListAdapterDataSource {
2016-11-01 14:48:28 +00:00
lazy var adapter : IGListAdapter = {
return IGListAdapter ( updater : IGListAdapterUpdater ( ) , viewController : self , workingRangeSize : 0 )
} ( )
let collectionView = IGListCollectionView ( 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: I G L i s t A d a p t e r D a t a S o u r c e
func objects ( for listAdapter : IGListAdapter ) -> [ IGListDiffable ] {
return data as [ IGListDiffable ]
}
func listAdapter ( _ listAdapter : IGListAdapter , sectionControllerFor object : Any ) -> IGListSectionController {
return LabelSectionController ( )
}
func emptyView ( for listAdapter : IGListAdapter ) -> UIView ? {
return nil
}
}