• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

[IOS]swift自定义uicollectionviewcell

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

刚刚接触swift以及ios,不是很理解有的逻辑,导致某些问题。这里分享一下swift自定义uicollectionviewcell

首先我的viewcontroller不是直接继承uicollectionviewcontroller,而是添加的uicollectionview到我的storyboard,

然后再新建一个swift的文件,让这个swift继承uicollectionviewcell

import Foundation

class SVGCell :UICollectionViewCell{   
    convenience   required   init(coder : NSCoder){
        self.init(frame:CGRect(x: 0, y: 0, width: 50, height: 50))
    }   
//    required init(coder: NSCoder) {
//        fatalError("NSCoding not supported")
//    }
    override  init(frame: CGRect) {
        super.init(frame: frame)
    }
//about Inheritance
    //http://stackoverflow.com/questions/25126295/swift-class-does-not-implement-its-superclasss-required-members
}

这里继承UICollectionViewCell的时候需要复写 一个父类初始化方法,以及一个required的初始化方法,上面的一个链接是关于这个required的方法的一个说明,是新的版本所必须的,否则会报语法错误,错误内容大概是要求你实现一个required方法。

这里不能够写一个自定义的初始化,因为这个cell不是因为init所创建的。

然后回到我们的viewcontroller

import UIKit


class ViewController: UIViewController ,UICollectionViewDataSource,UICollectionViewDelegate {//继承后面这两个协议,需要使用collectionview所必须的然后可以复写下面的三个必须的方法
    
  @IBOutlet weak var svgcollection: UICollectionView!

    let reuseidentifier="SVGCell"

  func collectionView(collectionView: UICollectionView!, numberOfItemsInSection section: Int) -> Int {
        return 2
    }//这3个func在继承了datasource & delegate一定要重写,如果有多个tableview 或者collection view 则在里面使用判断,对参数collectionview判断
    
    
    func collectionView(collectionView: UICollectionView!, cellForItemAtIndexPath indexPath: NSIndexPath!) -> UICollectionViewCell! {
        
        var cell:SVGCell=svgcollection.dequeueReusableCellWithReuseIdentifier(reuseidentifier, forIndexPath: indexPath) as SVGCell
        //reuse
      
        //这里这个cell不需要初始化
        //在return 之前 构造 一个cell 这里如果再次初始化的话,会导致uncatch的exception,内容大概是没有 reuseidentifier
        return cell
    }//
    
     func numberOfSectionsInCollectionView(collectionView: UICollectionView!) -> Int {
        return 1
    }//

在添加到我们的storyboard的uicollectionview的里面

这个栏目里面的cell设置它的属性

设置好Identifier属性就基本完成了,接下来可以在自定义的uiviewcollectionCell的类里面写自己需要的代码了。

 

 

另外需要更新这个uicollectionview的时候,只需要使用这个view的 reload方法就可以重新加载,修改需要加载的内容就可以了。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Swift5.4语言指南(二十二)扩展发布时间:2022-07-13
下一篇:
swiftMBProgressHUD加载gif或者apng的动图发布时间:2022-07-13
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap