MyViewController.xib窗口上有4个项目:


  
  文件的所有者(类型为MyViewController)
  第一响应者(类型为UIResponder)
  视图(类型为UIScrollView)
  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对象视为常规控件,或者说是面板。我将来可能会允许用户隐藏/取消隐藏此浮动视图。

这是一个好习惯,还是有更好的方法(任何示例)来完成我要尝试的操作?

非常感谢您的帮助。

最佳答案

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

关于iphone - UIViewController的 View 可以包含另一个UIView对象吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7802603/

10-12 14:30