如何为 UITableViewController 设置背景

Posted

技术标签:

【中文标题】如何为 UITableViewController 设置背景【英文标题】:How to put background for UITableViewController 【发布时间】:2012-09-26 00:47:22 【问题描述】:

我想在我的 ipad 应用程序中执行类似 THIS 的操作,执行以下操作的最佳方法是:

    上栏下方的阴影。 纸张的内边距(上、左、右和下) 背景(作为记事本):请考虑单元格:它们仍必须在纸内滚动并在到达纸底边缘之前被裁剪。

我正在寻找尽可能避免覆盖的最佳解决方案。

编辑

我尝试在 UISplitViewController 中使用 UIViewController(带有 UITableVIew 并具有委托方法),并尝试在表格顶部添加 UIImageView,但此视图将随单元格一起滚动,并且当我向下滚动时它会隐藏。我尝试将 viewForHeaderInSection 函数也用于上阴影(在条形下方),但是纸张底边呢(如果我放一张包含阴影和纸张底边的图像,并将填充作为 UITableView 或 UITableViewController 的背景,并在旋转到纵向时更改此图像?这是一个好的和可能的解决方案吗?)

【问题讨论】:

那么,你有什么尝试? 请再次检查问题,我更新了更多详细信息 【参考方案1】:

我的猜测:

在图像编辑应用中创建背景 剪切 4 张图片,用于页眉、页脚、左侧和右侧 创建一个带有 4 个 UIVIew 的 UIViewController 并添加正确的图像作为背景 在所有4个中间添加一个UITableView

这样图像不会移动,如果您将 UIViews 与背景正确放置,您的 TableView 将在笔记本内滚动(假设您正在尝试创建笔记本)

如果您的应用仅适用于 ios 6.0,自动布局将有很大帮助。查看苹果开发者视频了解如何使用此功能:WWDC 2012 Session 232 - Auto Layout by Example

【讨论】:

【参考方案2】:

执行此操作的一个简单方法是使用 xib: 1.在xib中创建图像。在图像视图中,您可以将任何您想要的背景作为图像。 2.在image view上方创建table view,设置table view背景色为透明色。

这样就可以了。

【讨论】:

感谢您的回答,但我不喜欢添加完整图像作为背景,我认为这不是最好的方案,我正在寻找(如果可能的话)添加一个小图层(UIImageView, ...)在表格的顶部和底部的另一个,而不是添加完整的 bg 图像。 .......... 顶部将是一个 1 px 的渐变 png 文件,用于阴影效果,底部将是一个 ~10 px 的纸张边缘,这两层将显示在桌子上方并粘贴表格滚动时处于试验位置

以上是关于如何为 UITableViewController 设置背景的主要内容,如果未能解决你的问题,请参考以下文章

如何为重用准备约束?

如何为使用 xib 用户界面创建的 TableViewController 设置静态表视图

UICollectionViewController 编辑

添加到 UITableViewController 时,SwiftUI 视图大小被破坏

UIRefreshControl - 当UITableViewController在UINavigationController中时,beginRefreshing无效

在 UITableViewController 顶部添加一个视图,该视图最初是隐藏的,直到用户下拉