在 Swift 中的 UITableViewController 之上添加一个 UIView

2023-12-01

我目前使用 UITableViewController (PFQueryTableViewController),我想在 TableView 顶部显示一个 UIView。

理想情况下,我想在故事板中执行此操作,这样我就可以轻松地向其中添加其他标签/按钮。但是,我似乎不知道如何或是否可以在故​​事板中做到这一点。是对的吗?

我已经以编程方式尝试过。我首先在顶部创建了变量:

var filterLabelView:UIView = UIView()

然后我添加了以下内容ViewDidLoad :

filterLabelView.frame = CGRect(x: self.view.frame.width/2, y: self.view.frame.height/2, width: self.view.frame.width, height: 40)
filterLabelView.center = CGPointMake(self.view.frame.size.width  / 2, self.view.frame.size.height / 2)
filterLabelView.backgroundColor = UIColor.redColor()
self.view.addSubview(filterLabelView) // See below

我也尝试过:

self.view.insertSubview(filterLabelView, aboveSubview: tableView)

这会创建红色的 UIView,但它似乎嵌入到 tableview 中,因为当我上下滚动时,视图会随之移动。

我想创造什么

理想情况下,我希望视图位于屏幕底部,并且not当用户滚动时移动。我想要的屏幕截图示例如下:

enter image description here

我读过,最好的方法是使用 UIViewController 和 UITableView ,但我不想采用这种方法来查看我的应用程序已经构建了多少。

谁能帮我打造这个造型?提前致谢


你必须从UIViewController获得完整的布局控制。

然后只需添加一个UITableView故事板中的实例。通常约束它,边缘齐平,顶部齐平,并且有customView.top = tableView.bottom。为控制器建立一个正常的插座。

您只需要记住进行定制UIViewController采用通常的 dataSource 和 delegate 协议,并将自己作为这些角色分配给UITableView初始化时(通常viewDidLoad()).

还有一项与打开时清除所选单元格相关的技巧viewDidAppear(),但没有什么特别的UITableViewController——这只是一个UIViewController带有内置tableView属性和自动分配的委托以及非常不灵活的布局。

附录基于有关如何解决此问题的评论:这有点像询问是否有任何方法可以让螺丝刀将钉子钉入木头。只需使用正确的工具即可。顶层view的财产UITableViewController is the UITableView本身。见下图,一只股票UITableViewController在布局调试模式下,没有其他任何东西,零代码。

这意味着整个视图树都嵌入在滚动实体中,因此所有子视图都将随之滚动。

在 Storyboard 中重新制作这个 VC 确实不是什么大不了的事。毕竟,你的渲染代码在cellForRowAtIndexPath一般情况下,您的 dataSource 和 delegate 根本不会改变。

附录 2:

如果不熟悉 Parse,这可能是不可能的。 (!!谢谢,Parse。)如果 Parse 没有为您提供可分离的PFQueryTableView如果您可以自行嵌入,则可能可以使用以下解决方法,但您需要了解 Objective-C 代码:

https://www.parse.com/questions/pfquery-tableview-for-uiviewcontroller

enter image description here

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Swift 中的 UITableViewController 之上添加一个 UIView 的相关文章

随机推荐

  • 静音 3D 触摸 快速操作

    由于新 iPhone 6s 6s 具有新的 3D Touch 功能 我正在尝试向我的应用程序添加一些主屏幕快速操作 我能够实现正常的力流 触摸主屏幕中的应用程序图标 gt 选择可用的快速操作之一 gt 在所有可能的应用程序状态下正确处理它
  • REPL、解释器和编译器之间的关系

    From 维基百科 REPL 通常被误称为 口译员 这是一个用词不当 很多 使用的编程语言 编译 包括字节码 编译 有 REPL 例如 Common Lisp 和 Python From 对此帖子的回复 交互式解释器使用 REPL 一个 口
  • 在 PHP 中动态访问类常量

    我希望能够动态查找常量的值 但使用变量不适用于语法 gives apple banana orange Fatal error Access to undeclared static property Food type 如何动态调用常量
  • 在 AppEngine Python 上使用 Reportlab 生成的 PDF 文档中添加图像文件的正确方法

    我正在尝试使用 App Engine Python 上的 reportlab 生成 PDF 报告 但我不知道如何正确附加图像 图像是静态的 这是我的项目的目录树 这就是我所做的 在 奇帕斯 py 获取图像 im Image static l
  • python脚本的CPU使用率

    是否可以检查简单脚本的CPU使用率 例如 如何获取打印 100 次 hello world 的 CPU 使用率 以百分比表示 目前我正在控制台中获取执行时间 方法是 time p python script py 如果你使用的是 UNIX
  • php 包含文件包含

    我正在一个网站上工作 并被要求包含位于我的 php 脚本上方的文件夹中的文件 问题是那些我被要求包含的 php 文件包含在其中 因此 在调用我的 php 页面时找不到它们引用的文件 处理这种情况的最佳方法是什么 将文件从文件夹 B 包含到文
  • 将客户端证书设置为 Java HTTP 连接中的请求属性?

    我有一个 Java 应用程序 它通过带有 SSL 的套接字连接到另一个 Java 应用程序 因此我的客户端 JVM 已经具有 Djavax net ssl keyStore and Djavax net ssl trustStore属性设置
  • 如何在延迟着色中从光照几何体的内部进行绘制

    我正在尝试使用 OpenGL 和 GLSL 实现延迟着色器 但我在处理光照几何时遇到了问题 这些是我正在采取的步骤 Bind multitarget framebuffer Render color position normal and
  • 访问 Service 中的请求范围 Bean

    我有一颗普通豆 它是 a Scope request 或 b 放置在HttpServletRequest通过过滤器 拦截器 如何在 a 中访问这个 bean Service哪一种是应用程序范围的单例 这样做的原因是 因为我有一个自定义对象R
  • 使用 Heroku 设置 Paperclip Amazon S3

    has attached file image storage gt s3 s3 credentials gt RAILS ROOT config s3 yml path gt style filename 我不知道什么 path gt s
  • 缺少 1 个必需的位置参数:'self'

    这是我的代码 class Email Stuff def init self self emailaddr None self recipaddr None self EmailUser None self EmailPass None d
  • 如何确定文本节点中被点击的字符?

    我可以设置一个事件侦听器来告诉我 HTML 文档中某个位置何时发生鼠标单击 但是 如果单击发生在某些文本上 我需要知道单击发生在文本中的哪个字符上 有没有办法做到这一点 我能想到一些非常令人讨厌的解决方案 例如 对于文档中的每个字符 我可以
  • HttpClient上传大文件并显示发送的字节数

    我找到了这个代码示例 import org apache http params CoreProtocolPNames import org apache http util EntityUtils public class PostFil
  • 从 Excel 将超过 65.535 行导入到 MS Access

    我正在运行以下代码将整个工作表从 Excel 导入到 Access 该工作表有 77k 行 但 Access 仅导入 65 535 行 关于如何修复它有任何疑问吗 Excel 和 Access 都是 2013 版本 Function imp
  • 为什么我们需要将 MDSYS.ST_GEOMETRY 视为 ST_LINESTRING 才能使用 ST_PointN(1)?

    MDSYS ST GEOMETRY 甲骨文18c 以下查询有效 它从 MDSYS ST GEOMETRY 中提取第一个点 Source https www spdba com au using oracles st geometry typ
  • 使用intel内联汇编器编码带有进位的bigint add

    我想做一个快速代码来添加大整数中的 64 位数字 uint64 t ans n uint64 t a n b n assume initialized values for int i 0 i lt n i ans i a i b i 但以
  • 在 webgl 片段着色器中按颜色计算像素

    我有 2d 纹理 S 并且想要返回 3d 纹理 H 这样像素 H r g b 等于纹理 S 中颜色 rgb 的像素数 基本上是纹理 S 中颜色的直方图 我知道遮挡查询 但它仅在 webgl2 中可用 而 IIUC 即使在那里也只能使用布尔结
  • Android SeekBar 拇指自定义

    我想隐藏栏 只想显示拇指 我用 max height 0dip 做到了 但它没有完全起作用 我还想在拇指上设置文本并使用多个图像创建拇指 例如 拇指按钮像图像一样并且具有文本 并且该按钮具有尾部下字 它随着行增量而增加 关于删除背景 我设法
  • 从 python 脚本获取 shell 脚本“读取”值

    外壳脚本 你好 sh bin bash echo Enter your name read name echo Hello name 我想从 python 中调用 Hello sh 并以非交互方式填充变量 name 如何做呢 不知道如何阅读
  • 在 Swift 中的 UITableViewController 之上添加一个 UIView

    我目前使用 UITableViewController PFQueryTableViewController 我想在 TableView 顶部显示一个 UIView 理想情况下 我想在故事板中执行此操作 这样我就可以轻松地向其中添加其他标签