[Objective-C 言語でカスタム コントローラーをロードする 3 つの方法]
モバイル
2023-12-16 19:21:49
訪問数: null
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