如何在单个 TableViewcell 的不同部分有不同的图像,将集合视图放置在 tableviewCell 内
Posted
技术标签:
【中文标题】如何在单个 TableViewcell 的不同部分有不同的图像,将集合视图放置在 tableviewCell 内【英文标题】:How to have different images at different sections of a single TableViewcell, having collection view placed inside a tableviewCell 【发布时间】:2018-09-12 10:44:36 【问题描述】:I want different images under different heading
//ViewController.swift
var categories = ["Good Afternoon","Daily Mixes","Bollywood Gems","Daily Mixes","Bollywood Gems","Bollywood Romantic","Pop","Trending Now","Top Charts","Saavn Originals","New Releases","Top Playlists","Radio Stations","Editorial Picks" ]
func numberOfSections(in tableView: UITableView) -> Int
return categories.count
func tableView(_ tableView: UITableView, titleForHeaderInSection section: Int) -> String?
return categories[section]
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int
return 1
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell
let cell = tableView.dequeueReusableCell(withIdentifier: "cell") as! CategoryRowTableViewCell
return cell
// custom.swift
@IBOutlet weak var pic: UIImageView!
@IBOutlet weak var text: UILabel!
func execute()
print("This is working")
pic.layer.cornerRadius = pic.frame.size.width/2
pic.clipsToBounds = true
print("working")
// CategoryRowTableViewCell.swift
let main : [String] = ["black forest","butterscotch","Truffle","a","b","c","d","e","j","k","u","q","s","z"]
@IBOutlet weak var collect: UICollectionView!
func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int
return 14
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell
let cell = collect.dequeueReusableCell(withReuseIdentifier: "videocell", for: indexPath) as! custom
cell.execute()
cell.pic.image = UIImage(named : main[indexPath.row])
cell.text.text = main[indexPath.row]
print(cell.text.text!)
return cell
我有一个表格视图,因为我有一个表格视图单元格。 我有不同部分的表格视图单元格。 在那个单元格中有一个滚动视图,上面有集合视图和集合视图单元格。 我的收藏视图单元格包含一个图像和一个标签 我想在集合视图单元格的不同行中显示不同的图像。但是我在表格视图单元格的每个部分都得到相同的图像。请帮助我。
【问题讨论】:
没有代码,很难说。您是否在 UITableViewCell 中重新加载了 collectionView?是重用问题吗? 如果你能显示你的代码就做 您可能需要以更好的方式处理数据源 我已经上传了代码。现在你能帮我吗 【参考方案1】:UICollectionView 继承自 UIScrollView 意味着如果我正确理解您的结构,您不需要在滚动视图中有 UICollectionView。一旦图像/内容超出视图框架,集合视图将滚动。 UITableViews 也继承自 UIScrollView,因此一旦内容大小超过表格视图的框架,它也将具有滚动功能。
在每个表格视图单元格中都有一个集合视图可能不是实现您需要/想要的最佳方式。但是,问题似乎是您为每个集合视图分配了相同的数据源,但没有看到任何代码,我不得不猜测您正在创建一个集合视图,为其分配数据,然后将其添加到每个表视图单元格。
【讨论】:
我已经上传了代码。请问你现在能解决这个问题吗? 好吧,按照你的结构方式,区分哪些图像去哪里会有点困难。因此,要解决此问题,您需要将图像分别传递到每个表格视图单元格中。因此,将“主”数组公开,而不是在表格视图单元格类中定义其中的内容,而是在 viewController 的 cellForRowAt 委托方法中为每个部分传递图像名称。 您的视图控制器必须有多个数组,或者一个数组数组,它允许您访问 cellForRowAt 委托方法中提供的每个索引路径的特定数组 如果你需要我可以提供一个例子吗? 那太好了,而且通俗易懂,请给我一份。以上是关于如何在单个 TableViewcell 的不同部分有不同的图像,将集合视图放置在 tableviewCell 内的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Phaser 3 中启用单击数组中的单个项目并将每个项目显示在屏幕的不同部分?
如何将不同的 UITapGestureRecognizer 添加到单个 UILabel 的许多部分?