我是iPhone的新手,这将是我的第一个问题。我有使用php / java / c ++等不同语言的经验。
我的问题是关于iOS中的ViewControllers和视图。
我已经启动了一个项目,其中包含几个不同的内容,如登录屏幕,主屏幕和其他几个屏幕。该项目的目标是学习如何以编程方式创建所有内容,而不是使用界面构建器来更加习惯于系统。我正在使用这本书:“高级iOS 4编程”来帮助我。
我已经能够创建所有屏幕(以及登录等工作正常),但我不确定我是否正确操作。
我创建textfields / labels / buttons的所有代码现在都位于ViewController中,而放置所有内容的主视图几乎是空的,其中没有任何内容。创建文本字段和其他组件的代码不应该位于视图本身中,或者这是正确的方法吗?
我查看了几个不同的示例,但大多数使用了界面构建器。这本书在这件事上也不是很清楚。
提前致谢。
亲切的问候, 碧玉
答案 0 :(得分:3)
在视图中,您有视图 - 换句话说,就是人类用户用眼球看到的内容。
因此,例如,如果您正在进行复杂的绘制,那么您将拥有自己的自定义drawRect:方法,例如就在视图中。
另一方面......
在视图控制器中,您可以控制视图。
一般来说,“一切”都在视图控制器中。
当您第一次开始为iPhone(或Mac)编程时,只需将所有内容放在视图控制器中,不要太担心。有很多东西需要学习。 OK?
最后,将“实际绘图”单独分开到视图中。
希望这个初学者的简单解释有帮助!
答案 1 :(得分:1)
在简单的控制器代码中应该包含像......
这样的方法class myLoginController : NSObject
{
UIView *myView;
}
-(void) initLoginController
-(void) loadLoginViewInView :(UIView*)inView;
-(void) removeLoginView;
-(void) isViewLoaded;
-(void) submitButtonClicked : (id) button;
-(BOOL) isLoginSuccess;
和initLoginController可以创建视图,
-(void) loadLoginViewInView :(UIView*)inView
{
[inView addSubview:myView];
}
并且在removeLoginView中,您可以从superView中删除“myView”。