2011-10-18 39 views
0

有4个项目上MyViewController.xib窗口:UIViewController的视图可以包含另一个UIView对象?

  1. 文件所有者(类型MyViewController)
  2. 急救员(类型UIResponder的)
  3. 查看(类型的UIScrollView)
  4. FloatingView(类型UIView)

ViewFloatingView都包含一些控件(如标签和文本字段......),并使用IB进行设计。 FloatingView不能占用全屏;而且我的应用功能需要FloatingView在用户点击屏幕时移动到新点击的位置。

实例变量UIView *myFloatingView;被定义为属性/ IBOutlet并被合成,该属性连接到IB上的FloatingView视图。

viewDidLoad方法,我加入myFloatingView我的看法控制器的观点作为其子视图为:

-(void)viewDidLoad { 
    [super viewDidLoad]; 

    CGRect myFrame = CGRectMake(50, 50, 150, 150); //initial location 
    self.myFloatingView.frame = myFrame; 
    [self.view addSubview:self.myFloatingView]; 
} 

苹果文件说,每个UIViews应该有一个相应的视图控制器。但是,我在这里只使用了一个视图控制器。我将浮动UIView对象视为常规控件,或称为面板。我将来可能允许用户隐藏/取消隐藏此浮动视图。

这是一个很好的做法,还是有更好的方法(任何示例)来做我想做的事情?

非常感谢您的帮助。

+0

很好的做到这一点。我认为我们不需要为我们创建的每个视图使用不同的视图控制器。这也将非常困难。 – EmptyStack

回答

1

你在做什么很好。事实上,viewController通常可以控制整个层次结构。另外,你说你的浮动视图与你的根视图在同一个笔尖?如果是这样,你可以将它作为子视图,而不是添加为viewdidLoad中的子视图。

相关问题