MyViewController.xib窗口上有4个项目:
文件的所有者(类型为MyViewController)
第一响应者(类型为UIResponder)
视图(类型为UIScrollView)
FloatingView(UIView类型)
View
和FloatingView
都包含一些控件(例如标签和文本字段...),并且是使用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/