如何在常规 UIViewController 或 UITableViewControllerCell 中对 UITableViewController 单元格进行分组?

How to have grouped UITableViewController cells within regular UIViewController or UITableViewControllerCell?

我想像这个屏幕截图一样构建一个登录屏幕:

我不确定最好的方法是什么,我正在寻找一个简单的解决方案。

我考虑过不同的方法,但我相信必须有更简单的方法。这是我到目前为止的想法:

  1. 将整个 UI 构建为具有 静态单元格 UITableView。然后我可以在故事板中定义 3 个部分,第一个只有一个单元格并在顶部显示 UILabel,第二个包含按钮和 emailpassword 字段(可能包含三个不同的单元格),最后是底部 UIButton 的第三部分。

  2. 仅使用 UIViewController,放置 UI 元素并使用 AutoLayout 进行排列(我也会在第一个选项中使用 AutoLayout)。只是我不确定如何将这两个 UITextFields 粘在一起并在顶部和底部形成圆角。

我尝试使用分组 table 视图,因为这种外观通常是默认的,但不知何故这种风格似乎不再存在(它被 iOS 8 解雇了吗?)?

第二个解决方案的一个问题是我有另一个非常相似的视图应该用于注册。我基本上想使用完全相同的布局,只是有更多的单元格。因此,在这种情况下,实际上需要 UITableView 免费提供的滚动,而对于登录来说,这可能不是很重要。

我建议不要试图将您的 UI 硬塞进 table 视图。

我建议如下:

创建一个包含 UI 中所有 UI 元素的常规视图控制器,以及 table 视图所在的容器视图。然后 link 容器视图与 table 视图控制器通过嵌入 segue。

容器视图和嵌入 segue 将导致 table 视图被设置为子视图控制器。它很容易做,而且效果很好。

我有一个 demo project on github (link) 显示如何执行此操作。我的项目在普通视图控制器中托管了 2 table 个视图。