Objective c 如何使用情节提要将UITableView添加到多个子视图之一

Objective c 如何使用情节提要将UITableView添加到多个子视图之一,objective-c,uitableview,uiview,uicontainerview,Objective C,Uitableview,Uiview,Uicontainerview,我有一个UIViewController,上面有两个UIView。在导航栏中,当按下一个按钮时,将显示一个UIView,当按下另一个按钮时,将显示另一个UIView。我想在其中一个视图上放置一个UITableView。但是,UITableView要求UIViewController使用UITableViewDelegate和UITableViewDataSource。在为包含UTTableView的UIView(子视图)实现此功能后,当我单击另一个视图(不包含表)的按钮时,会出现错误,应用程序会

我有一个UIViewController,上面有两个UIView。在导航栏中,当按下一个按钮时,将显示一个UIView,当按下另一个按钮时,将显示另一个UIView。我想在其中一个视图上放置一个UITableView。但是,UITableView要求UIViewController使用UITableViewDelegate和UITableViewDataSource。在为包含UTTableView的UIView(子视图)实现此功能后,当我单击另一个视图(不包含表)的按钮时,会出现错误,应用程序会发出嘎嘎声

我假设(可能是错误的)我的问题是,我试图对两个子视图使用相同的UIViewController,但只有一个子视图包含表

问题1)是否有可能做到我上面所描述的?也就是说,如果我有问题,那么有些东西连接不正确。

因此,我开始创建两个独立的UIViewController;每个视图一个。我不确定这是明智的做法。现在我只是在寻找最好的方法来做这件事的建议。提前感谢您的帮助


为了更清楚地知道我想做什么。我希望蓝色视图放在点击第一个按钮时粉红色视图的位置,我希望黄色视图放在点击第二个按钮时粉红色视图的位置。本质上,粉红色视图永远不会显示,甚至可能不需要在UtilityViewController上。

将每个视图作为UIViewController(或其子类)是您尝试执行的方式。UITabBarController已经做到了这一点:

“我走上了创建两个独立UIViewController的道路”,这是完全正确的。假设一个视图控制器是“ShowDogs”。假设另一个视图控制器为“ExoticCarClubSignUp”。这正是你使用iOS应用程序的方式。其中每一个都是UIViewController的子类。(注意:很多时候,人们会称它们为“ShowDogsViewController”和“ExoticCarClubSignUpViewController”。对我来说,这是一种能源浪费,并导致全球变暖。我的意思是……“它们还能是什么?”这是一个iOS应用程序……一切都是一个视图控制器!)加油!说得非常清楚。当你点击按钮时,苹果会自动给你一个通用的“UIViewController”。你知道的?可以说,这是一个相当糟糕的主意。(请注意,在现实世界中,你永远都不会使用它。)他们应该做的是给你一个通用的“YourFunctionViewController”。。。然后将其编辑为“ShowDogsViewController”和“ExoticCarClubSignUpViewController”。我希望这是有道理的!回答得很好。事实上,露西猫,我会鼓励你不要使用UITabBarController在第一。。这可能有点像拐杖。加油@JoeBlow-我不想使用UITabBarController。现在,我想弄清楚如何将用户设置视图推入实用视图,并使用单独的控制器。不像我希望的那样直截了当。看起来我需要使用ContainerView。你觉得怎么样?嗯,我想我不明白你在干什么。您是否可能正在寻找addChildViewController和相关函数?请注意,正如我上面所说:“我创建了两个独立的UIViewController”,这是正确的,也是您应该做的。但我可能还是不明白你的计划。不清楚您是否希望表视图“在另一个窗口内”运行。所以你有一些视图(“显示所有的狗”或其他),然后你想要一个“小桌子”出现(比如,在右上角..等等)。也许你应该发布一张应用程序的图片。@JoeBlow-我在原来的问题中添加了这个。但对你来说,我也会把它包括在这里。我希望蓝色视图放在点击第一个按钮时粉红色视图的位置,我希望黄色视图放在点击第二个按钮时粉红色视图的位置。实际上,粉红色视图永远不会显示,甚至可能不需要在UtilityViewController上。@JoeBlow-我终于在这里问了一个新问题:。我不是在偷懒,我真的不知道该怎么做。看起来不应该那么难。我开始觉得自己很笨了。