IOS Swift UICollectionView,我想为每个单元格使用不同的标签?
Posted
技术标签:
【中文标题】IOS Swift UICollectionView,我想为每个单元格使用不同的标签?【英文标题】:IOS Swift UICollectionView,I want a different tag for every cell? 【发布时间】:2014-12-12 21:16:28 【问题描述】:您知道tableviews
可以设置一个数组,然后将数组的每个元素作为row
的文本放置例如:
我有一个tableView
。
array : items = ["hello","world","yes"]
在cellForRowAtIndexPath
函数中,您只需说:cell.text = items[indexPath.row]...
这是一个简短的示例。
所以现在是问题所在。我有一个集合视图,它有两列(numberOfItemsInSection
函数返回这个),我有 33 行(numberOfSectionsInCollectionView
函数返回这个)......这意味着我有 @ 987654329@ 单元格。我希望每个单元格在其中显示另一个文本,所以我制作了一个包含 66 个元素的字符串数组“项目”。从位置 0 到位置 65 ......我该怎么做表格视图,只需写cell.text = items[I DON'T KNOW WHAT TO WRITE HERE]...
这是我的问题。我不知道如何识别每个单元格,以便彼此不同。
我会指定如果我写:cell.text = items[indexPath.row]
它将在第一列中放入数组的第一项,在第二列中放入数组的第二项,仅此而已。我也试过indexPath.item
,但它和indexPath.row
一样。
感谢您的帮助!对我有很大帮助!
【问题讨论】:
您的数据是如何排列的?你有一个数组数组或字典数组来填充你的集合视图吗? 【参考方案1】:只需将您的项目组织到两个数组中,
override func viewDidLoad()
super.viewDidLoad()
self.items1 = ["hello", "word"]
self.items2 = ["hello2", "word2"]
self.itemsSections = [items1, items2]
我附上了 UITableView 的示例,但您可以轻松地将其应用于 UICollectionView 数据源协议 然后在表数据源中使用 itemsSections:
override func numberOfSectionsInTableView(tableView: UITableView) -> Int
return itemsSections.count
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int
let section = itemsSections[section]
return section.count
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell
let cell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath) as UITableViewCell
let section = itemsSections[indexPath.section]
cell.text = section[indexPath.row]
return cell
【讨论】:
以上是关于IOS Swift UICollectionView,我想为每个单元格使用不同的标签?的主要内容,如果未能解决你的问题,请参考以下文章
iOS 7 - UICollectionElementKindSectionHeader 使应用程序崩溃('UICollectionView 数据源未设置')
iOS开发进阶 - 自定义UICollectionViewLayout实现瀑布流布局