我的应用程序运行良好,但客户希望将两个视图(UIViewControllers)合并到一个视图(拆分视图控制器)。
视图的主要部分将是一个表格,其中包含TableView中的Staff列表,详细信息视图将由两个表格视图组成 - 一个包含有关员工成员的详细信息(名称,电话,分机) ,办公室等)和另一个有培训记录(课程,资格等)。
当您单击主表时,它会选择给定员工的详细记录,并在详细视图中显示它们。
我在应用程序中没有故事板,并使用[self presentViewContoller]从视图切换到视图(因为有很多条件处理需要什么视图,故事板似乎限制太多)
但是我尝试了以下方法: -
创建一个SplitViewController(右键单击,新建文件,UISplitViewController),但它似乎是空的,没有主视图或详细视图。此外,当我尝试使其显示时,它既不会出现,也不会导致崩溃(尝试以模态方式呈现SplitViewController)。
通过在普通视图控制器上放置两个视图,然后将所需的表放在其中,创建一个“假的”拆分视图控制器。然而,我无法找到一种方式来呈现任何边界或类似的东西,整个事情看起来有点不专业和愚蠢。
所以我的问题基本上是这样的: -
是否可以在单个视图项目中创建SplitViewControllers并使用它们?
或者,如果没有,是否可以在视图或表格周围放置边框,或在视图上绘制一条直线?
(如果可能的话,我宁愿不必重写我的整个应用程序,只需添加这个SplitView控制器或“假拆分视图控制器”)
答案 0 :(得分:1)
您可以使用容器视图:
创建一个新的根视图控制器并向其添加两个容器视图。这将创建两个嵌入segue,您可以指向视图控制器,其视图要显示在这些容器中。
答案 1 :(得分:0)
您无法同时控制两个UIViewController。 因此,尝试显示两个UIView或UIView的子类,如UITableView。 显示两个UITableView有点令人厌烦。 看看这个问题Two UITableView in the same view
对于视图周围的边框,您可以将UIImageView或其他东西作为边框线。
UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(159, 0, 2, 640)];