UIButton
アプリのルート ビュー コントローラーではないビュー コントローラーを使用しています。ヘッダー ファイルにアウトレットまたはそのアクションをドラッグして作成できません。ルートView Controllerからしかできません。
これには単純な理由がありますか?
UIButton
アプリのルート ビュー コントローラーではないビュー コントローラーを使用しています。ヘッダー ファイルにアウトレットまたはそのアクションをドラッグして作成できません。ルートView Controllerからしかできません。
これには単純な理由がありますか?
ストーリーボードを使用する場合、XCode は最初のビュー コントローラー (ViewController.h および ViewController.m という名前) の .h および .m ファイルのみを作成します。
Interface Builder を使用して追加するビュー コントローラーごとに、ビュー コントローラーをカスタマイズするために、追加のカスタム クラス ファイルを手動で追加する必要があります。
Interface Builder を使用してビュー コントローラーをストーリー ボードに追加したら、次の手順に従います。
UITableViewController
します (つまり、テーブル ビュー コントローラーを選択します)。UIButtons
その後、CTRL キーを押しながら任意の UI 要素またはその他の UI 要素を新しい .h または .m ファイルにドラッグし、そこにビューのカスタム動作を実装できるはずです。
カスタム クラスを実装するファイルを作成しないと、カスタム クラスでUIViewController
拡張しない限りデフォルトの動作しか持たない のようなデフォルトの UI クラスに固執することになります。
通常、View Controller ごとに 1 つの .m および .h ファイルが必要です。
そのviewControllerのヘッダーファイルにドラッグしようとしていますか? xibではなくストーリーボードを使用していると思いますか?もう少し詳細が必要だと思います。もしかしてスクリーンショット?
アシスタントのビューが間違っているようです。アシスタント ビューの左上のドロップダウンでこれを変更して、そのビュー コントローラーに一致するヘッダー ファイルにすることができます。しかし、私が言ったように、もっと詳細が必要です。
UIButton は、View Controller の一部として定義されているアウトレットに接続できます。
そのアウトレットもプロパティにする場合は、そのボタンを公開して、他のView Controllerが設定/取得/クエリなどに使用できるようにすることができます。この後者のことは、ボタンをホストするView Controllerがメモリに存在する場合にのみ機能します(少なくとも最初は、ボタンが表示されているView Controllerが最初のコントローラーが表示されているのと同時に表示されないと仮定すると、そうではありません) .
はい、単純な理由がありますが、十分な情報を提供していないため、その単純な理由が何であるかを正確に言うのは難しいです. 基本的には、View Controller がどのように機能し、ストーリーボードからどのようにロード/インスタンス化されるかがすべてになります。短いバージョン:
同じ「シーン」内のオブジェクト間でのみアウトレット/アクションを作成できます。
アウトレット / アクションは複雑です。コードに対応する IBOutlet / IBAction がある場合にのみ作成できます。Xcode は、アウトレット / アクション作成プロセスの一部としてそれを作成するのに役立ちますが、これは、コード内の IBOutlet / IBAction と、ペン先 / ストーリーボード内のアウトレット / アクションの 2 つがあるという事実を覆い隠すだけです。
ニブが実際にどのように機能するかについての私の本の章を読むと、さらに助けになるかもしれません。
http://www.apeth.com/iOSBook/ch07.html#_nib_loading_and_file_8217_s_owner
これはストーリーボードにも同様に当てはまります。ストーリーボードは事実上、複数のペン先を 1 つのファイルに結合する方法にすぎません。ただし、オブジェクト間でドラッグできる別の種類のもの、つまりリレーションシップまたはセグエがあるため、ストーリーボードはいくつかの複雑さを追加します (これらのいずれかを誤って作成している可能性があります)。