4

iPhone のプログラミングは初めてで、これが最初の質問になります。php/java/c++ などのさまざまな言語の経験があります。

私の質問は、iOS の ViewControllers とビューについてです。

ログイン画面、メイン画面、その他のいくつかの画面など、いくつかの異なるものを含むプロジェクトを開始しました。このプロジェクトの目標は、インターフェイス ビルダーを使用する代わりにプログラムですべてを作成する方法を学び、システムに慣れることです。「Advanced iOS 4 Programming」という本を使用しています。

すべての画面を作成できました (ログインなどは機能しています) が、正しく作成できたかどうかはわかりません。

テキストフィールド/ラベル/ボタンを作成するためのコードはすべて ViewController にありますが、すべてが配置されるメイン ビューはほとんど空で、何も行われていません。テキストフィールドやその他のコンポーネントを作成するコードをビュー自体に配置するべきではありませんか、それともこれが正しいアプローチですか?

いくつかの異なる例を見てきましたが、ほとんどはインターフェイス ビルダーを使用しています。本自体もこの問題についてあまり明確ではありません。

前もって感謝します。

よろしく、 ジャスパー

4

2 に答える 2

3

ビューにはビューがあります。言い換えれば、文字通り、人間のユーザーが眼球で見ているものです。

たとえば、複雑な描画を行っている場合は、独自のカスタム drawRect: メソッドがあり、それはたとえばビューにあります。

その一方で……

ビューコントローラーには、ビューを制御するものがあります

一般的に言えば、「すべて」はView Controllerに入ります。

初めて iPhone (または Mac) 向けのプログラミングを開始するときは、すべてを View Controller に配置するだけでよく、あまり心配する必要はありません。学ぶことはたくさんあります。わかった?

最終的に、「実際の図面」を個別にビューに分離します。

この初心者向けの簡単な説明が役に立てば幸いです。

于 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 では、「myView」をその superView から削除できます。

于 2011-02-26T18:59:21.877 に答える