我有一个初学者 iPhone 项目正在进行。我有一个 TableView,它只是一个列表框,里面有一堆条目,底部有一个小的 UiView。见图片。
问题是 UiView 本质上成为列表框的一部分,并且只会在我向下滚动到 TableView 中的最后一项时出现。
我希望 UiView 固定在底部并且永远不会移动。我环顾了整个界面生成器,但找不到任何东西(尽管在它的辩护中,我完全是 iPhone 开发的菜鸟)。我该如何完成这样的技巧?
我有一个初学者 iPhone 项目正在进行。我有一个 TableView,它只是一个列表框,里面有一堆条目,底部有一个小的 UiView。见图片。
问题是 UiView 本质上成为列表框的一部分,并且只会在我向下滚动到 TableView 中的最后一项时出现。
我希望 UiView 固定在底部并且永远不会移动。我环顾了整个界面生成器,但找不到任何东西(尽管在它的辩护中,我完全是 iPhone 开发的菜鸟)。我该如何完成这样的技巧?
好的,你需要的是一个 UIView,它包含
通过这样做,您可以在 IB 中创建一个 UITableView(不是 UITableViewController!)并将其与您的 UIView 中的 UITableView 属性连接起来(在 1. 中提到的那个)
使用这种方法可以给 UITableView 一个固定的大小(你需要这样做,以便在底部为你的第二个 UIView 留出空间)
要构建 gabtub 的答案,包含您的表格视图和底部视图的 UIView 不需要实现 UITableViewDelegate 和 UITableViewDataSource 方法。
由于听起来您正在使用视图控制器进行构建,因此我将您的主视图控制器设为 UIViewController 的子类(而不是使用 UITableViewController)。然后,您可以将 UITableView 和 UIView 添加到 UIViewController 的视图实例中。
然后我会让你的 UIViewController 子类实现 UITableViewDelegate 和 UITableViewDataSource 协议——你最终会得到与你的旧 UITableViewController 子类相似(代码方面)的东西,但它的视图属性将是底层 UIView 而不是 UITableView 实例(如果您在调试器中四处寻找,您可以看到 [UITableViewController view] 和 [UITableViewController tableView] 返回相同的对象)
与 gabtub 的建议相比,它的优点之一是它使您免于创建一次性 UIView 子类,因为您可能已经获得了一次性 UIViewController 子类(或者,以前有一个一次性 UITableViewController 子类)。
问题可能是,现在,UIView 是一个节页脚视图,因此包含在表视图中。
如果你从 TableView 中删除 UIView,缩放 TableView 为 UIView 腾出更多空间,然后将你的 UIView 放在你想要的位置,它可能会被添加到 TableView 的超级视图中。然后,您可以将 TableView 调整为正确的大小。
底线是:如果您基于 Navigation 模板创建项目,则无法调整 UiTableView 的大小。
所以要做我想做的事,我基本上必须从头开始,选择一个基于视图或窗口的模板,然后手动将 UiTableView 放在上面。