Iphone 视图中有什么,视图控制器中有什么?

Iphone 视图中有什么,视图控制器中有什么?,iphone,view,viewcontroller,Iphone,View,Viewcontroller,我刚开始为iPhone编程,这将是我在这里的第一个问题。我有使用php/java/c++等不同语言的经验 我的问题是关于iOS中的ViewController和视图 我已经开始了一个项目,其中将包含几个不同的东西,如登录屏幕,主屏幕和其他几个屏幕。本项目的目标是学习如何以编程方式创建所有内容,而不是使用interface builder来更熟悉系统。我正在使用《高级iOS 4编程》一书来帮助我 我已经能够创建所有的屏幕(登录之类的东西正在工作),但我不确定我是否做对了 我所有用于创建文本字段/标

我刚开始为iPhone编程,这将是我在这里的第一个问题。我有使用php/java/c++等不同语言的经验

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


我已经开始了一个项目,其中将包含几个不同的东西,如登录屏幕,主屏幕和其他几个屏幕。本项目的目标是学习如何以编程方式创建所有内容,而不是使用interface builder来更熟悉系统。我正在使用《高级iOS 4编程》一书来帮助我

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

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

我看了几个不同的例子,但大多数都使用interface builder。这本书本身在这方面也不是很清楚

提前谢谢

亲切问候,,
贾斯珀

视图中您拥有视图——换句话说,就是人类用户用眼球看到的东西

因此,例如,如果您正在进行复杂的绘图,您将拥有自己的自定义drawRect:method,例如就在视图中

另一方面

视图控制器中,您可以使用控制视图的东西

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

当您第一次开始为iPhone(或Mac)编程时,只需将所有内容都放在view controller中即可,无需太担心。有很多东西要学。好吗

最后,在视图中单独分离出“实际图形”


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

在简单控制器代码中应该包含如下方法

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”。

“本项目的目标是学习如何以编程方式创建所有内容,而不是使用interface builder来更习惯于系统。”如果您想学习系统,您应该学习如何使用interface builder。太多第一次使用iPhone的开发者害怕IB,而他们本应该接受它。@Joe我认为你根本不需要在objective c中使用IB(在构建iPhone应用程序时),或者你应该先掌握IB才能很好地掌握这门语言。根据你的需要,可以选择使用哪一种。事实上,来自不同平台的程序员擅长处理来自代码的视图。IB有它自己的优点,他只是还不知道,但至少他正在努力学习一些东西,你不认为我们应该鼓励他这么做吗?@Joe如果你看看brad larson的应用程序分子,他根本没有使用IB。这是一个小屏幕,你做不了多少。只是一些基本的东西。嗨,伙计们!我试着从interface builder开始,但我不知道我在做什么将所有对象连接在一起。这也是因为我不理解视图和视图控制器的基本概念。编写代码有助于我理解底层系统,这样我就可以(将来)使用interface builder,因为这样做会更清楚。你好,Joe,谢谢你的回复。你所说的“实际绘图”是什么意思?(这是否也意味着在屏幕上绘制文本框和其他内容,还是用石英绘制)?谢谢Joe,这让事情变得清楚了。因为我认为自定义UIView文件是xib文件的替代品,所以我觉得所有组件都需要放在UIView文件中。