gpt4 book ai didi

ios - 使用UITableViewController时如何让pickerView粘在底部?

转载 作者:行者123 更新时间:2023-11-29 03:07:24 24 4
gpt4 key购买 nike

我有相当大的 UITableViewController,由文本字段组成。我需要在屏幕底部显示我的 pickerView。 pickerView 的问题是当表格滚动时它也在滚动(因为我已经将它作为 subview 添加到 tableView 中)。我看到的唯一选择是将此 pickerView 添加到窗口:

UIWindow *window = [[UIApplication sharedApplication] keyWindow];
[window addSubview:view];

但是,对此并不确定,它看起来像是一个 hack。在 iOS6+ 上使用安全吗?有没有人有更优雅的解决方案来将 pickerView 添加到 tableView 的底部并使其固定在底部?

在 Storyboard之前,我总是使用通用的 UIViewController 而不是 UITableViewController,但是我当前的项目使用 Storyboard和静态 TableView ,所以我不能使用通用的 UIViewController。我对 UITableViewController 感到不满意的主要是因为它的 tableView 是 Root View ,并且您可能会运行一些讨厌的问题(包括这个问题)。例如,您不能将任何 View 置于顶部居中,因为将 View 添加为 subview 将最终将该 View 置于表内容中而不是上方。因此,事件指示器和其他自定义 View 不能居中,因为如果您滚动 tableView,那么这些 View 也会滚动。在窗口内添加顶 View 的解决方案可以通过代码工作,但您仍然无法通过 Storyboard添加它。

最佳答案

您应该问自己的第一个问题:您真的需要一张 table 吗?使用 ScrollView 可能会好得多,这取决于您的表格包含的内容及其内容的动态程度。

下一步:如果你需要去一张 table ,也需要选择器,你想固定在屏幕底部,那么我建议如下:

  1. 创建一个 UIViewController contollerWithPicker 来保存选择器和一个容器 View tableContainer。
  2. 仅为您的表格及其内容创建一个UITableViewController myTableController
  3. 将 myTableController 分配给 tableContainer。
  4. 根据您的需要,您可能希望使用 contollerWithPicker 或 myTableContoller 作为表格的数据源。两者都很好用。有时一个更容易实现和维护,有时另一个。

但不要尝试将 TableView 与固定 UI 元素混合在一起,并且在同一 View 内独立于表。

......................如果它是在屏幕顶部,在表格上方,那么您可以将选择器定位在表格的标题 View 中。

关于ios - 使用UITableViewController时如何让pickerView粘在底部?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22612469/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com