结合 UIView 和 UITableView

Posted

技术标签:

【中文标题】结合 UIView 和 UITableView【英文标题】:Combine UIView and UITableView 【发布时间】:2016-06-29 00:39:40 【问题描述】:

嗨,是否可以将 UIView 与 UITableView 结合起来并将其作为单个对象引用?我目前将两者结合为堆栈,但我觉得有更好的方法来做到这一点。谢谢

【问题讨论】:

你能提供一个例子来说明你想如何引用它们吗?如果是带有 uitableview 下面的 uiview,更合适的方式是使用 uitablewview 标头 你这样做的目的是什么? 【参考方案1】:

它们是两个不同的对象,一个属性不能引用两个不同的视图。但是,您可以为 ViewController 中的两个视图或任何祖先视图中的两个视图使用 IBOutlet。

class MyViewController : UIViewController 
    @IBOutlet var tableView : UITableView!

然后,您只需将特定视图的 reference outlet 从 Storyboard 拖到视图控制器即可。有关这方面的信息: https://developer.apple.com/library/ios/recipes/xcode_help-IB_connections/chapters/CreatingOutlet.html

请注意,我没有为您的 UIView 添加属性,因为我认为它已经是控制器的主视图。同样,您可以对主视图进行子类化,为表格视图添加一个出口,并将其用作参考出口。

【讨论】:

【参考方案2】:

在我看来,有两种方法可以解决您的需求: 选项 1. 使用表格视图标题视图。我想你想将一个名为topView 的视图与一个表格视图结合起来。致电tableView.tableHeaderView = topView 选项2.将topView作为子视图添加到表视图,然后调整表视图的contentInset。就像:

    UIEdgeInsets tableViewInsets = self.tableView.contentInset;
    tableViewInsets.top = topView.frame.size.height;
    self.tableView.contentInset = tableViewInsets;

【讨论】:

以上是关于结合 UIView 和 UITableView的主要内容,如果未能解决你的问题,请参考以下文章

如何使自定义 UIView 与 UINavigationBar 结合使其看起来像一个

将 UIView.layer.clipsToBounds = true 与 CABasicAnimation 结合使用时,并非所有像素都被裁剪

使用 CADisplayLink“结合”与 CAMediaTimingFunction 为 UIView 设置动画。 (获得任意曲线)

如何将自动布局约束与 UIView 的 contentMode 属性结合起来

如何将 UIView 中绘制的像素与 UIImageView 中的图像结合起来,并将其保存为新图像?

SB结合代码圆角