【发布时间】:2014-05-25 23:00:34
【问题描述】:
我有一个 UIViewController,上面有两个 UIView。在导航栏中,当按下一个按钮时,会显示其中一个 UIView,当按下另一个按钮时,会显示另一个 UIView。我想在其中一个视图上放置一个 UITableView。但是,UITableView 要求 UIViewController 使用 UITableViewDelegate 和 UITableViewDataSource。为包含 UTTableView 的 UIView(子视图)实现了此功能后,当我单击另一个不包含表格的视图的按钮时,我会收到错误并且应用程序会发出声音。
我假设(可能是错误的)我的问题是我试图对两个子视图使用相同的 UIViewController,但只有一个包含一个表。
问题 1) 是否可以按照我上面的描述进行操作?意思是,如果我遇到问题,则说明连接不正确。
所以,我走上了创建两个独立 UIViewControllers 的道路;每个视图一个。不确定这是聪明的方法。现在我只是在寻找最好的方法来做到这一点的建议。提前感谢您的帮助。
为了更清楚我想要做什么。我希望在单击栏上的第一个按钮时将蓝色视图放置在粉色视图的位置,并且我希望在单击第二个按钮时将黄色视图放置在粉色视图的位置。基本上粉红色的视图永远不会显示,甚至可能不需要在 UtilityViewController 上。
【问题讨论】:
-
“我走上了创建两个独立 UIViewControllers 的道路” 这是完全正确的。假设一个视图控制器是“ShowDogs”。假设另一个视图控制器是“ExoticCarClubSignUp”。这正是你做 iOS 应用程序的方式。每一个都是 UIViewController 的子类。 (注意: 很多时候,人们会称它们为“ShowDogsViewController”和“ExoticCarClubSignUpViewController”。对我来说,这是浪费能源并导致全球变暖。我的意思是......“它们还能是什么?” 这是一个 iOS 应用程序......一切都是一个视图控制器!)去吧!
-
只是为了清晰。当您单击按钮时,Apple 会自动为您提供一个通用的“UIViewController”。你懂的?可以说,这是一个非常糟糕的主意。 (请注意,在现实世界中,您永远都不会使用它。)他们应该做的是给您一个通用的“YourFunctionViewController”......然后您将其编辑为“ShowDogsViewController”和“ ExoticCarClubSignUpViewController”。我希望这是有道理的!
标签: objective-c uitableview uiview uicontainerview