[Objective-C 言語でカスタム コントローラーをロードする 3 つの方法]

1. これで、Window の手動作成についての説明は終わりました。

通知する

1. ただし、皆さんに何か付け加えたいのですが、

場合によっては、いくつかのフレームワークが何かを使用する場合があります。以下にそれを書きました。

通知する

[UIアプリケーション共有アプリケーション]

通知する

なんだろう、アプリケーションオブジェクトなのか?

次に、キーウィンドウ

メインウィンドウを取得しましたか?

通知する

それから、何かを追加して、

[UIApplication 共有アプリケーション].keyWindow addSubview:

通知する

次に、カスタマイズされたウィンドウ、customWindow を追加しました。

[[UIApplicationsharedApplication].keyWindow addSubview:customWindow];

通知する

その後、追加して長時間走ってみましたが、全く効果はありませんでした。

通知する

思い出させてください、この状況をどうやって解決しますか?

このように追加しないでください。

それを変えるだけで大​​丈夫です。

[UIアプリケーション共有アプリケーション]

通知する

何か属性はありますか:

通知する

ウィンドウのプロパティ:

通知する

次に、それに lastObject を与えます

通知する

[[UIApplicationsharedApplication].windows lastObject];

最後のウィンドウに追加します。

次に、addSubview に移動します。

通知する

[[[UIApplicationsharedApplication].windows lastObject] addSubview:customWindow];

通知する

このカスタムウィンドウを追加して、これについて学習してください。

通知する

これをマスターする必要はありませんが、今後書くときに、他の人の作品で示せないものがある場合は、印象だけを持ってください。

通知する

それを解決する方法を知っていて、

さて、これをオフにしましょう、

それでは次に、こんなものをご紹介させていただきます。

通知する

2.「コントローラーをロードする3つの方法」について

1. それで、私たちは現在どのような読み込みコントローラーを学習しているのでしょうか?

1) もう誰もが知っていますが、絵コンテはありますか?

2) 先ほど説明したもう 1 つの方法は、カスタム コントローラーをロードするときにコントローラーを直接カスタマイズする方法であり、純粋なコード メソッドと同等です。

通知する

理解してください、絵コンテがないので、

何もありません、

2. 次に、コントローラーを作成する 3 つの方法を紹介します。

1) 最初のタイプは純粋なコードです。これは先ほど行ったものと同じですか? したがって、後ですぐに渡すことができます。

2) 2 番目の方法は、ストーリーボードを介してコントローラーを作成することです。これまでに使用したことがあり、ストーリーボードを介して読み込まれることは知っています。しかし、それを読み込む方法はわかりませんよね。それなら、手動で行うことができます。しばらくすれば分かるでしょう。

3) 3 番目の方法は、xib を使用してコントローラーを作成することです。

通知する

このxibは私たちにとって一般的なものですか?

でもそれは無駄ですよね?

次に、これら 3 つの方法を使用してコントローラーをロードする方法を説明します。

3. 純粋なコードを使用してコントローラーをロードする

1. まず、新しいプロジェクトを作成します。

通知する

新しいプロジェクトを作成し、

通知する

名前を付けて、

通知する

- カスタム コントローラーをロードする 3 つの方法

通知する

「次へ」をクリックして、これがどのコードであるかを確認してみましょう。

通知する

05じゃないの?

05 - カスタム コントローラーをロードする 3 つの方法、

通知する

じゃあ何、

通知する

まず、カスタム コントローラーを読み込みます。コントローラーを読み込む方法は 3 つあります。

私に関しては今でも同じで、まずこれらのものをシステムから削除しました。

通知する

自分でやれ、

次の 3 つを選択します: ViewController.h、ViewController.m、Main.storyboard

通知する

この3つを選択して削除します。

消去、

通知する

ゴミ箱に移動、

通知する

2. 削除した後、他に何をする必要がありますか?

通知する

メインさん、info.plist を変更しましたか?

しかし、このプロジェクトにターゲットと将軍がいる場合、

通知する

一般が青色で表示されている場合は、選択されていることを意味します。

ここにメインインターフェイスがあります。

通知する

ほら、削除して、戻ってきて、

通知する

info.plist の中を見てください。

通知する

もうないのですか?

そして、メインストーリーボードファイルのベース名がなくなりました。

ということで、この方法も可能ですが、

次に、カスタム コントローラーをロードする 3 つの方法を説明します。

1) 最初のタイプ: コードを通じてコン​​トローラーを作成する

2) 2 番目のタイプ: ストーリーボードを通じてコン​​トローラーを作成する

3) 3 番目のタイプ: xib を使用してコントローラーを作成する

通知する

3 つのフォルダーを作成して、コードをさまざまなカテゴリに保存します。

1)コード

2)絵コンテ

3) 先生

次に、最初にカスタム コントローラーをロードします。

通知する

それでも、まずはその前に穴を掘りましょう。

1) ステップ 1: 最初にウィンドウを作成します

通知する

2) ステップ 2: ウィンドウのルート コントローラーを設定します。

通知する

3) ステップ 3: ウィンドウをメイン ウィンドウにして表示します。

通知する

さて、もう一度書いて、後で直接使用しましょう。

では、この 1 と 3 を最初に書きます。

1) ウィンドウの作成

self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];

通知する

self.window =等しいとは何ですか? UIWindow alloc ですか? 画面のサイズ [UIScreen mainScreen].bounds と同じにするだけです。

3) ウィンドウをメインウィンドウにして表示します。

[self.window makeKeyAndVisible];

通知する

この self.window を makeKeyAndVisible にします。

2) ウィンドウのルートコントローラーを設定します

次に、このステップではコントローラーをロードし、そのルート コントローラーを設定します。

ああ、ここで間違って書きました、makeKeyAndVisibleですよね?

通知する

makeKeyAndVisible、

では、このように書くと、makeKeyWindow、hidden=NOを追加する必要があるのでしょうか?

[self.window makeKeyAndVisible];

通知する

makeKeyAndVisible、

通知する

では、次はself.window.rootViewControllerを指定すればいいのでしょうか?

通知する

self.window.rootViewController = ?

通知する

しかし今はコントローラーがありません

//self.window.rootViewController = ?

通知する

さて、コントローラーがないですよね? それで、どうすればいいでしょうか?

1) まず、最初のメソッドであるコードについて説明しました。カスタム コントローラー、まだ覚えていますか。Command + N ですか?

通知する

これで、UIViewController は必要なくなりました。

私はUITableViewControllerを使用していますが、

それをデモンストレーションしてみましょう。

ここではココアタッチクラスを選択するべきでしょうか?

通知する

UITableViewControllerから継承された「次へ」をクリックします。

通知する

UITableViewControllerから継承

通知する

名前:HMTableViewController

通知する

「次へ」をクリックし、

通知する

「次へ」をクリックし、

通知する

それで、このコードは現在存在しますか?

そのクラス (実際にはコントローラー クラス)

次に、AppDelegate.m ファイルに戻ります。

通知する

AppDelegate、

次に、コードの 10 行目にインポート ヘッダー ファイルを追加します。

#import “HMTableViewController.h”

通知する

右、

通知する

この方法は、純粋なコードを使用してコントローラーを作成するのと同じです。

作成方法、

HMTableViewController *tableVc = [[HMTableViewController alloc] init];

通知する

次に、それをウィンドウのルート コントローラーとして指定します。

self.window.rootViewController = tableVc;

通知する

シミュレータをiPhone6Sに変更し、

通知する

コマンド+R、

通知する

次に、少し待ってから実行しましょう。

おすすめ

転載: blog.csdn.net/madoca/article/details/134376703