美文网首页开发点滴Mac开发云集macOS
Mac开发之NSCollectionView使用以及自定义ite

Mac开发之NSCollectionView使用以及自定义ite

作者: 代码行者 | 来源:发表于2016-12-20 16:54 被阅读1817次

与iOS中的UICollectionView相似,在Mac开发中,我们也会常常用到NSCollectionView来展示内容,但在使用中,与iOS有较大差别,尤其对Mac开发新手来说,不得不到头文件中慢慢搜索,结果事倍功半,本文简示范基础用法,可以快速上手练习,好了,闲话少叙,开启工程实例,开发语言使用Swift3.0

创建工程

创建CocoaApplication

选择开发语言

使用Swift

添加NSCollectionView

添加NSCollectionView

设置约束

设置NSCollectionView约束

设置连线属性

添加属性

添加自定义CollectionViewItem

添加文件 选取模版 创建item文件

实现代码(ViewController.swift)

实现代码

CustomItem.swift

为了能看见item,设置背景色

运行效果

运行效果

Demo示例地址:

Demo源码

相关文章

网友评论

  • small_yg:你好,请问OSX下swift和oc混编方式和iOS一致吗?
    代码行者:@small_yg 一致的:smile:
  • A_rcher34:您好,请问,有没有纯代码编写nscollectionView的方法
    代码行者:@A_rcher34 自己手写了一个代码创建NSCollectionView的方式,供你参考:
    在viewDidLoad中:
    NSCollectionView *c = [[NSCollectionView alloc]initWithFrame:self.view.bounds];
    NSCollectionViewFlowLayout *layout = [[NSCollectionViewFlowLayout alloc]init];
    c.collectionViewLayout = layout;
    [c registerClass:[CItem class] forItemWithIdentifier:@"ccc"]; // 这里的CItem是继承自NSCollectionViewItem的自定义类,如果不用自定义item,你也可以使用系统的
    c.dataSource = self;
    _cv = c;

    NSClipView *clip = [[NSClipView alloc]initWithFrame:self.view.bounds];
    clip.documentView = c;
    NSScrollView *scrollView = [[NSScrollView alloc]initWithFrame:self.view.bounds];
    [scrollView setContentView:clip];
    [self.view addSubview:scrollView];
    然后就是实现NSCollectionView的数据方法(代理方法也同理)
    - (NSInteger)collectionView:(NSCollectionView *)collectionView numberOfItemsInSection:(NSInteger)section{

    return 10;
    }
    - (NSCollectionViewItem *)collectionView:(NSCollectionView *)collectionView itemForRepresentedObjectAtIndexPath:(NSIndexPath *)indexPath{
    return [collectionView makeItemWithIdentifier:@"ccc" forIndexPath:indexPath];
    }
    A_rcher34:@代码行者 我尝试了,发现手写与拖sb还是不一样的,拖的话,直接有四层,scroll,colorfill,clip,collection,代码写,就只有最后一个,而且层级也不对,datasource也不走:pensive:,你对这方面有什么建议吗
    代码行者:@A_rcher34 暂时没纯手写代码,可以参考UICollectionView的代码实现啊..
  • b1e1452d05fa:兄弟 好好地OC怎么换成swift了
    代码行者::relaxed:项目忙的差不多了,周末准备再补充一下cocoa绑定,敬请指正
    b1e1452d05fa:@代码行者 还有更新吗~
    代码行者:swift也要了解呀

本文标题:Mac开发之NSCollectionView使用以及自定义ite

本文链接:https://www.haomeiwen.com/subject/iatfvttx.html