Ios 如何在集合视图中的集合可重用视图下添加元素

Ios 如何在集合视图中的集合可重用视图下添加元素,ios,xcode,swift,uicollectionview,collectionview,Ios,Xcode,Swift,Uicollectionview,Collectionview,我有一个问题和困惑,我想问我如何才能使一个新的对象(我想使日期)下的图标,并在日期有图标再次。。就像iPhone上的gallery 例如: 八月 (照片) 九月 (照片) 等等…谢谢 看起来会是这样,但怎么会呢 在这个视图中有我的代码 import UIKit let reuseIdentifier = "Cell" class SummaryViewController: UICollectionViewController, UICollectionViewDataSource, UIC

我有一个问题和困惑,我想问我如何才能使一个新的对象(我想使日期)下的图标,并在日期有图标再次。。就像iPhone上的gallery

例如: 八月

(照片)

九月

(照片)

等等…谢谢 看起来会是这样,但怎么会呢 在这个视图中有我的代码

import UIKit

let reuseIdentifier = "Cell"

class SummaryViewController: UICollectionViewController, UICollectionViewDataSource, UICollectionViewDelegate {

    @IBOutlet var collectionview: UICollectionView!
    var photos:NSArray?
    var items = NSMutableArray()
    var TableData:Array< String > = Array < String >()
    var json:String = ""
    var arrayOfMenu: [ImageList] = [ImageList]()
    override func viewDidLoad() {
        super.viewDidLoad()
        self.setUpMenu()
        collectionview.dataSource = self
        collectionview.delegate = self


        NSLog("%d", items.count)

    }


    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }

    override func numberOfSectionsInCollectionView(collectionView: UICollectionView) -> Int {

        return 1
    }


    override func collectionView(collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {

        return arrayOfMenu.count //hitung banyak data pada array
    }

    override func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {

        let cell = collectionView.dequeueReusableCellWithReuseIdentifier(reuseIdentifier, forIndexPath: indexPath) as! UICollectionViewCell
        let image = UIImage(named: items.objectAtIndex(indexPath.row) as! String)
        let imageView = cell.viewWithTag(100) as! UIImageView
        imageView.image = image

        return cell
    }

    func setUpMenu() //membaca json pada setiap arraynya
    {
        var json: JSON = JSON (data: NSData())
        DataManager.getactivityDataFromFileWithSuccess{ (data) -> Void in
            json = JSON(data: data)
            let results = json["results"]
            for (index: String, subJson: JSON) in results {
            }
            for (var i = 0; i < json["Activity"].count; i++) {
                    if let icon: AnyObject = json["Activity"][i]["icon"].string {
                        self.items.addObject(icon)
                            dispatch_async(dispatch_get_main_queue(), {self.collectionView!.reloadData()})
                            var menu = ImageList(image: icon as! String)
                            self.arrayOfMenu.append(menu)
                            self.TableData.append(icon as! String)

                        }
                    }
                }
            }

override func collectionView(collectionView: UICollectionView, viewForSupplementaryElementOfKind kind: String, atIndexPath indexPath: NSIndexPath) -> UICollectionReusableView
{

    let header = collectionView.dequeueReusableSupplementaryViewOfKind(UICollectionElementKindSectionHeader, withReuseIdentifier: "headersection", forIndexPath: indexPath) as! UICollectionReusableView
    return header

}





}
导入UIKit
让reuseIdentifier=“Cell”
类SummaryViewController:UICollectionViewController、UICollectionViewDataSource、UICollectionViewDelegate{
@IBOutlet var collectionview:UICollectionView!
var照片:NSArray?
var items=NSMutableArray()
var TableData:Array=Array()
var json:String=“”
变量arrayOfMenu:[ImageList]=[ImageList]()
重写func viewDidLoad(){
super.viewDidLoad()
self.setUpMenu()
collectionview.dataSource=self
collectionview.delegate=self
NSLog(“%d”,items.count)
}
重写函数didReceiveMemoryWarning(){
超级。我收到了记忆警告()
//处置所有可以重新创建的资源。
}
重写func numberOfSectionsInCollectionView(collectionView:UICollectionView)->Int{
返回1
}
重写func collectionView(collectionView:UICollectionView,numberOfItemsInSection:Int)->Int{
return arrayOfMenu.count//hitung banyak数据pada数组
}
重写func collectionView(collectionView:UICollectionView,cellForItemAtIndexPath indexPath:NSIndexPath)->UICollectionViewCell{
让cell=collectionView.dequeueReusableCellWithReuseIdentifier(reuseIdentifier,forIndexPath:indexPath)作为!UICollectionViewCell
让image=UIImage(命名为:items.objectAtIndex(indexath.row)as!String)
让imageView=cell.viewWithTag(100)为!UIImageView
imageView.image=image
返回单元
}
func setUpMenu()//membaca json pada setiap arraynya
{
var json:json=json(数据:NSData())
DataManager.getactivityDataFromFileWithSuccess{(数据)->中的Void
json=json(数据:数据)
让results=json[“results”]
对于结果中的(index:String,subson:JSON){
}
对于(var i=0;iUICollectionReusableView
{
让header=collectionView.dequeueReusableSupplementaryViewOfKind(UICollectionElementKindSectionHeader,带有ReuseIdentifier:“headersection”,forIndexPath:indexPath)作为!UICollectionReusableView
回流集管
}
}

您可以将节数设置为所需的月数。 像这样:

override func numberOfSectionsInCollectionView(collectionView: UICollectionView) -> Int 
{
    return 3
}
对于菜单,您需要根据节(月)给出

希望这有帮助

override func collectionView(collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int
{
    if section == 0
    {
       return arrayOfFirstMenu.count 
    }
    else if section == 1
    {
       return arrayOfSecondMenu.count 
    }
    else
    {
        return arrayOfThirdMenu.count 
    }

}