博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
NSCollectionView使用笔记
阅读量:5734 次
发布时间:2019-06-18

本文共 2047 字,大约阅读时间需要 6 分钟。

class(HeaderView,FooterView):NSView, NSCollectionViewElement{}复制代码
NSCollectionViewDataSource{    collectionView(_ collectionView: NSCollectionView, viewForSupplementaryElementOfKind kind: NSCollectionView.SupplementaryElementKind, at indexPath: IndexPath) -> NSView}复制代码

kind:.sectionHeader,.sectionFooter

getView:

collectionView.makeSupplementaryView(ofKind: kind, withIdentifier: NSUserInterfaceItemIdentifier(rawValue: "header and footer"), for: indexPath)复制代码

使用NSCollectionViewFlowLayout

let flowlayout = NSCollectionViewFlowLayout()flowlayout.sectionHeadersPinToVisibleBounds = trueflowlayout.sectionFootersPinToVisibleBounds = truecollectionview.collectionViewLayout = flowlayout复制代码

使用NSCollectionViewFlowLayout之后,默认的将会失效

flowlayout.itemSize = NSSize(width: 500, height: 84)flowlayout.headerReferenceSize = NSSize(width: 500, height: 150)flowlayout.footerReferenceSize = NSSize(width: 500, height: 48)//边距flowlayout.sectionInset = NSEdgeInsets(top: 0, left: 0, bottom: 0, right: 0)复制代码

3、动态设置item的Size

NSCollectionViewDelegateFlowLayout{    func collectionView(_ collectionView: NSCollectionView, layout collectionViewLayout: NSCollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> NSSize {    //比如根据文字的    let nsstring: NSString = "string"    let size = CGSize(width:1000, height:100)    let dic = NSDictionary(object: NSFont.labelFont(ofSize: 13), forKey: NSAttributedStringKey.font as NSCopying)    let new_size = nsstring.boundingRect(with: size, options: .usesLineFragmentOrigin, attributes: (dic as! [NSAttributedStringKey : Any]), context: nil).size    return new_size//size(width:,height:)    }}复制代码
collectionview.register(<#T##viewClass: AnyClass?##AnyClass?#>, forSupplementaryViewOfKind: <#T##NSCollectionView.SupplementaryElementKind#>, withIdentifier: <#T##NSUserInterfaceItemIdentifier#>)复制代码

forSupplementaryViewOfKind:.sectionHeader,.sectionFooter

5、CollectionView的delegate和dataSource不设置会导致数据不显示之类的问题

转载于:https://juejin.im/post/59e573716fb9a0451f3001d4

你可能感兴趣的文章
【Python第五篇】Python面向对象(初级篇)
查看>>
innobackupex参数之 --throttle 限速这个值设置多少合理 原创
查看>>
18 已知下面的字符串是通过RANDOM随机数变量md5sum|cut-c 1-8截取后的结果
查看>>
BZOJ - 3578: GTY的人类基因组计划2
查看>>
理解WebKit和Chromium(电子书)
查看>>
爱——无题
查看>>
分布式服务框架原来与实践 读书笔记一
查看>>
Aho-Corasick automation-KMP
查看>>
【http】post和get请求的区别
查看>>
/etc/profile
查看>>
摘记总结(1)
查看>>
TFS强制撤销某个工作区的文件签出记录
查看>>
编写who命令
查看>>
2.1 sikuli 中编程运行
查看>>
愚公移山第一章伪代码
查看>>
常见的位运算技巧总结(膜wys)
查看>>
python魔法函数(二)之__getitem__、__len__、__iter__
查看>>
EL表达式无法显示Model中的数据
查看>>
Linux应用小技巧
查看>>
考题纠错2
查看>>