以编程方式将视图添加到表格视图中的单元格

4

我有一个带有动态原型的表视图,目前通过编程方式显示4个元素。我通过数组分配单元格名称(见下面的代码),但我还想在每个单元格的右半部分添加一个小视图,以便在每个标签旁边显示一个小图形。我可以在storyboard中放置一个视图,但它不会自动扩展。基本上,我需要找到一种方法来修改这段代码,以在每个单元格内添加一个视图,并将我已经创建的类分配给这些视图。

    override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCellWithIdentifier("LineCell", forIndexPath: indexPath) as! UITableViewCell
    cell.textLabel?.text = oneLine.lineNames[indexPath.row]
    return cell
}

这是我想要放置视图的位置:

enter image description here

另外,我该如何在载体、时间和电池与表格视图之间增加更多空间?

你需要创建一个自定义的UITableViewCell类,其中包含你的图形视图和标签。 网上有很多教程 :) https://www.youtube.com/watch?v=adP2dG_C1XU - Morten Stulen
1
点赞支持这幅画 :) - Johnny Cheuk
4个回答

11
你可以按照自己的喜好创建视图,并将其作为子视图添加到单元格的contentView中:
var newView = UIView(frame: CGRectMake(200, 10, 100, 50))
cell.contentView.addSubview(newView)

1
根据您的设备尺寸或方向(横向或纵向),您的代码可能无法始终正常工作。这就是为什么使用AutoLayout的解决方案会更加完整的原因。此外,如果标签有背景,它还可以防止标签被隐藏在补充视图后面,从而允许其被省略号切割。 - Fantattitude
1
每次加载单元格时,这将在旧视图上添加新的视图。 - Harshad Madaye

3

要在tableView和状态栏之间添加“空格”,您可以将tableviewcontroller嵌入uinavigationconttoller。

要动态添加视图,您可以在单元格上使用addSubview方法,并在代码中使用自动布局添加约束。


2

Swift 4.0

var newView = UIView(frame: CGRect(x: 210, y: 10, width: 110, height: 50))
cell.contentView.addSubview(newView)

0
var newView = UIView(frame: CGRect(x: 210, y: 10, width: 110, height: 50))
cell.contentView.addSubview(newView)

正如Ashish所说,据我所知,这将在单元格顶部添加子视图。如果我想将其添加到单元格底部,该怎么办?


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接