如何为 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 设置静态表视图
添加到 UITableViewController 时,SwiftUI 视图大小被破坏
UIRefreshControl - 当UITableViewController在UINavigationController中时,beginRefreshing无效