4

我是 iPhone 编程的新手,这将是我在这里的第一个问题。我有使用不同语言的经验,例如 php/java/c++。

我的问题是关于 iOS 中的 ViewControllers 和视图。

我已经开始了一个项目,其中将包含几个不同的东西,比如登录屏幕、主屏幕和其他几个屏幕。该项目的目标是学习如何以编程方式创建所有内容,而不是使用界面构建器来更习惯系统。我正在使用这本书:“高级 iOS 4 编程”来帮助我。

我已经能够创建所有屏幕(并且登录之类的东西正在工作),但我不确定我是否做得正确。

我用于创建文本字段/标签/按钮的所有代码现在都位于 ViewController 中,而放置所有内容的主视图几乎是空的,其中没有任何操作。创建文本字段和其他组件的代码不应该位于视图本身中,还是这是正确的方法?

我看过几个不同的例子,但大多数都使用界面构建器。书本身在这件事上也不是很清楚。

提前致谢。

亲切的问候,贾斯珀

4

2 回答 2

3

视图中你有视图——换句话说,就是人类用户用他们的眼球看到的东西。

因此,例如,如果您正在做复杂的绘图,您将拥有自己的自定义 drawRect: 方法,例如在视图中。

另一方面 ......

视图控制器中,您拥有控制视图的东西。

一般来说,“一切”都在视图控制器中。

当您第一次开始为 iPhone(或 Mac)编程时,只需将所有内容都放在视图控制器中,不要太担心。有很多东西要学。好的?

最终,将“实际绘图”单独分离到视图中。

希望这个简单的解释对初学者有帮助!

于 2011-02-26T17:20:57.417 回答
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”。

于 2011-02-26T18:59:21.877 回答