在tableview单元格SWIFT中使用图像制作列表的正确方法

时间:2018-08-13 20:56:22

标签: ios swift uitableview uicollectionview uistackview

我目前有一个UITableView,其中每个单元格都包含一个用户列表。我目前使用UITextView对其进行设置,并在每个名称后使用换行符。然后我根据组中有多少人来设置像元高度。这很好用,但现在我想按用途添加个人头像。这是我提出的两种可能的解决方案。

  1. 每个表格视图单元格内的一个表格视图
  2. 使用诸如this之类的方法将图像添加为文本并保留当前的textview。我相信这将是更好/更有效的选择。

这两个或其他选项中的哪个方法将是执行此操作的正确方法/或最有效的方法。

更新:我正在尝试从下面实现一个解决方案,这是我尝试过的解决方案,但运行

时却什么也没看到

在故事板上添加堆栈视图 enter image description here

创建用户视图类

import UIKit

@available(iOS 9.0, *)
class UserView: UIStackView {
    var name: String?
    var image: UIImage? // OR var imageName: String?

    override init(frame: CGRect) {
        super.init(frame: frame)
        setup()
    }

    required init(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)
        setup()
    }

    private func setup() {
        axis = .vertical

        let imageView = UIImageView(image: image)
        let nameLabel = UILabel()
        nameLabel.text = name

        addArrangedSubview(imageView)
        addArrangedSubview(nameLabel)
    }
}

单元格中用于索引路径的代码

        cell.mainStackView.frame = CGRect(x: 0, y: 0, width: cell.cellColor.frame.width, height: cell.cellColor.frame.height)

        for i in 0..<joinedArray.count {
            let user = UserView()
            user.name = joinedArray[i]
            cell.mainStackView.addArrangedSubview(user)
        }

2 个答案:

答案 0 :(得分:2)

我希望将UITableViewCell和UIStackView内的UIStackView作为每个用户条目的子视图

类似下面提到的

maven-metadata-local.xml

答案 1 :(得分:0)

您可以尝试将UITableView放在UITableViewCell中,而不是将UICollectionView放在UITableViewCell中。从技术上讲,它是相同的,但是使用收藏夹视图,您可以以不同的布局显示图像(假设每个UICollectionViewCell对每个图像都要使用UIImageView),从而获得更多的多功能性。 Ash Furrow在这方面blog post以及相应的GitHub rep都非常好。