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