2012-06-22 37 views
0

我有一个TabBar应用程序(没有故事板)与UIView在第一个窗口,有效地使用1/2的垂直空间。它具有仅属于该视图的背景颜色。我需要另一个视图控制器在同一窗口中的新UIView?

我需要添加另一个UIView在下半部分,具有不同的背景颜色。

目前,只有一个视图控制器;是否必须为下部视图添加另一个视图控制器,以便具有可寻址性?还是有不同的方式来完成这一点?

+1

在新的UIView中将会发生什么?您不需要每个视图的控制器,但是如果它与上半部分的模型和功能完全无关,将它作为单独的控制器可能更有意义。 – jrturton

+0

上半部分包含日历;当用户点击一天时,关于那一天的信息显示在下半部分...日历有橙色的日子(用户要求的!)...下半部分包含关于那天的信息时间表,白色背景。 – SpokaneDude

+1

jrjurton是100%正确的,这是值得回答的。我将添加UILabel的,UIButton的等等。都是视图本身,但由于它们通常与其容器视图的模型和功能相关,所以使用相同的视图控制器。 – Patrick

回答

2

这取决于控制是否执行任何“逻辑”。如果它只是一个普通的日历显示,我会使它成为一个UIView子类,因为UIViews就是这样,意见。创建一个委托来传递'events'并处理UIViewController中的所有其他逻辑。这使得更好的重用性,因为它创建了一个通用显示。

如果它包含任何逻辑,如加载和处理数据,我会让它成为一个控制器。从你所说的话来看,这听起来像是一个观点会更适合imho。

+0

将第二个UIView附加到与日历相同的控制器上会给我两个日历...我想我需要另一个控制器,对吧? – SpokaneDude

+0

我不明白你的意思。我以为你想在UIViewController的视图内看到一些日历视图。如果是这样,您只需将您的CalendarView作为子视图添加到主视图。 – Rengers

+0

对不起,让我试着澄清它...我有一个UIView控制器有一个日历的UIView。日历占据视图的前半部分。我需要在日历下添加另一个UIView。我无法使用日历的控制器,因为它给了我另一个日历。我认为我需要一个单独的VC为较低的UIView,对吧? – SpokaneDude

0

您不需要添加另一个ViewController来与现有视图中的新UIView进行接口。

如果您使用的是界面生成器,只需从画廊拖动一个新的视图对象(这只是一个UIView)到适当的画布和大小。要在现有视图控制器中获得对此视图的引用,请调出助理编辑器并将其从新视图拖动到视图控制器实现文件(* .m)中。您现在可以从现有的视图控制器中操作新的UIView。

相关问题