在 table 视图控制器中添加容器视图时,如何将其移动到最底部? (Swift)
In a table view controller when adding a container view, how can I move it to the very bottom? (Swift)
我目前正在开发一个短信应用程序,为此我创建了一个 table 视图控制器。我想在 table 视图控制器的最底部添加一个文本字段。 Xcode 不允许我在控制器中添加文本字段,所以我添加了一个容器视图,我可以在其中放置一个文本字段。
我现在遇到的唯一问题是将该容器视图放置在用户能够输入文本的最底部(这在任何短信应用程序中都很常见)。
简短的回答是您不能向table 视图控制器添加任何东西。它是一个特殊用途的视图控制器,管理一个 table 视图控制器和 没有其他东西。我一直觉得这有点傻,但这是真的。
您应该做的是从 UIViewController 的自定义子类开始作为您的父视图控制器。向其中添加一个容器视图,并将一个嵌入转场拖到 table 视图控制器。您的视图控制器现在包含一个 table 视图控制器。
现在向父视图控制器添加其他文本字段、按钮或其他视图组件。
编辑
正如 SmartCat 在他们的回答中指出的那样,您还可以直接在视图控制器中管理 table 视图。没有什么说你 必须 使用 UITableViewController
.
A UITableViewController 非常有限。您被完整的(viewController 视图)UITableView 困住了。要在行之外添加更多内容,最好的方法是将自定义页眉或页脚插入 table 视图。
尽管另一个答案建议将 UITableViewController 放入 UIViewController 的子类中的容器视图中,这可行,但它可能会导致你比需要的更复杂。这也肯定会限制您进一步自定义该容器视图以拥有超出 UITableView.
的能力。
该策略将使您能够使用您放入父 UIViewController 的任何其他内容围绕它进行自定义,但它仍然迫使一个区域只被 UI 卡住TableView,这可能会在您以后修改您的应用程序时困扰您,因为随着您的 UI 的发展,您必须重新排列代码以移动到 UIViewController。
我从不在我的应用程序中使用 UITableViewController。它对 table 带来的影响很小,它所添加的内容,您可以轻松地在 UIViewController 子类中复制您自己的代码 - 如果您甚至关心那些小事。我只是将 UITableView 直接放入我的 UIViewController 视图中,让我的 UIViewController 也成为 UITableViewDelegate 和 UITableViewDataSource 通过实现这些协议。
您可以查看此 SO answer 以详细了解 UITableViewController 添加的内容。
没关系。而不是手动创建一个 table 视图控制器。允许更大的灵活性。
我目前正在开发一个短信应用程序,为此我创建了一个 table 视图控制器。我想在 table 视图控制器的最底部添加一个文本字段。 Xcode 不允许我在控制器中添加文本字段,所以我添加了一个容器视图,我可以在其中放置一个文本字段。
我现在遇到的唯一问题是将该容器视图放置在用户能够输入文本的最底部(这在任何短信应用程序中都很常见)。
简短的回答是您不能向table 视图控制器添加任何东西。它是一个特殊用途的视图控制器,管理一个 table 视图控制器和 没有其他东西。我一直觉得这有点傻,但这是真的。
您应该做的是从 UIViewController 的自定义子类开始作为您的父视图控制器。向其中添加一个容器视图,并将一个嵌入转场拖到 table 视图控制器。您的视图控制器现在包含一个 table 视图控制器。
现在向父视图控制器添加其他文本字段、按钮或其他视图组件。
编辑
正如 SmartCat 在他们的回答中指出的那样,您还可以直接在视图控制器中管理 table 视图。没有什么说你 必须 使用 UITableViewController
.
A UITableViewController 非常有限。您被完整的(viewController 视图)UITableView 困住了。要在行之外添加更多内容,最好的方法是将自定义页眉或页脚插入 table 视图。
尽管另一个答案建议将 UITableViewController 放入 UIViewController 的子类中的容器视图中,这可行,但它可能会导致你比需要的更复杂。这也肯定会限制您进一步自定义该容器视图以拥有超出 UITableView.
的能力。该策略将使您能够使用您放入父 UIViewController 的任何其他内容围绕它进行自定义,但它仍然迫使一个区域只被 UI 卡住TableView,这可能会在您以后修改您的应用程序时困扰您,因为随着您的 UI 的发展,您必须重新排列代码以移动到 UIViewController。
我从不在我的应用程序中使用 UITableViewController。它对 table 带来的影响很小,它所添加的内容,您可以轻松地在 UIViewController 子类中复制您自己的代码 - 如果您甚至关心那些小事。我只是将 UITableView 直接放入我的 UIViewController 视图中,让我的 UIViewController 也成为 UITableViewDelegate 和 UITableViewDataSource 通过实现这些协议。
您可以查看此 SO answer 以详细了解 UITableViewController 添加的内容。
没关系。而不是手动创建一个 table 视图控制器。允许更大的灵活性。