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];
}
Apple文档说每个UIViews应该有一个相应的视图控制器。但是,我在这里只使用一个视图控制器。我将浮动的UIView对象视为常规控件,或者称为面板。我将来可能会允许用户隐藏/取消隐藏此浮动视图。
这是一个很好的做法,还是有更好的方式(任何例子)去做我想做的事情?
非常感谢你的帮助。
答案 0 :(得分:1)
你做得很好。实际上,viewController通常可以控制整个层次结构。另外,你说你的floatingView与你的根视图在同一个笔尖?如果是这样,您可以在那里将其作为子视图,而不是在viewdidLoad中添加为子视图。