【发布时间】:2011-10-18 04:58:21
【问题描述】:
MyViewController.xib 窗口上有 4 个项目:
- 文件的所有者(MyViewController 类型)
- First Responder(UIResponder 类型)
- 视图(UIScrollView 类型)
- FloatingView(UIView 类型)
View 和FloatingView 都包含一些控件(例如标签和文本字段...),并且是使用 IB 设计的。 FloatingView 不得占据全屏;当用户点击屏幕时,我的应用程序功能需要FloatingView 移动到新点击的位置。
一个实例变量UIView *myFloatingView;被定义为一个property/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 文档说每个 UIView 都应该有一个相应的视图控制器。但是,我在这里只使用一个视图控制器。我将浮动 UIView 对象视为常规控件,或者说是面板。我将来可能会允许用户隐藏/取消隐藏这个浮动视图。
这是一个好的做法,还是有更好的方法(任何例子)来做我想做的事情?
非常感谢您的帮助。
【问题讨论】:
-
这样就好了。我认为我们不需要为我们创建的每个视图使用不同的视图控制器。这也将非常困难。
标签: iphone objective-c ios