UICollectionView-如何在每个单元格上添加对象?

时间:2015-08-13 07:16:54

标签: ios xcode swift uicollectionview collectionview

如何让它看起来像iPhone画廊(如果数据符合结束,我想添加显示月份的标签)并使其可重复picture1

它看起来像enter image description here

我已尝试过每个对象并插入uicollectionview,但它根本没有出现..有什么办法可以帮助吗? 这是我的代码

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

}



}

0 个答案:

没有答案