これは他のいくつかの質問と重複しているように見えますが、答えはうまくいきません。
XcodeのInterface Builderの最新バージョンでは状況が少し変更されています。誰かが私に欠けていることを教えてもらえますか?ここには文字通りコードはありません。アウトレットをカスタムクラスのサブビューに接続しようとしてテストしています。
最初の画像は、カスタムクラスを設定してプロパティを追加したが、接続できないことを示しています。
2番目の画像は、メインビューのラベルがメインビューのコントローラーに接続されていることを示しています。
3番目の画像は、サブビューのラベルにアウトレット接続がないことを示しています。
カスタムビューサブクラスの@interface
にIBOutlet
プロパティ宣言を手動で記述し、サブビューの基本クラスをIBで定義したと仮定すると、アウトレットサークルからドラッグできます。シーン内のコントロールに戻るコード。
または、あなたが指摘するように、ウォーレン・バートンはこの他の質問への彼の答えでこのテクニックと別の両方を提案しました IBのサブビューに配線できません 。
この問題は、View Controllerのファイル所有者に関係しています。おそらくIOViewControllerとして設定されているため、その.hファイルでのみプロパティ接続を行うことができます。
できることは、サブビュー用に別の.nibファイルを作成し、そこにサブビューを配置することです。次に、その.nibファイルで、ファイル所有者をIOSubviewにします。プロパティ接続はそこでうまく機能します。次に、プログラムでIOViewControllerにサブビューを追加します。最初にバンドルからnibファイルをロードすることを忘れないでください。
これは私がしたことです(Swiftで):
その後、アクションを割り当てることができました。
Obj-Cにとっても同様のプロセスだと思います。
サブクラスでアウトレットを作成するのではなく、それが存在するView Controllerでアウトレットを作成します。必要がある #import
サブクラスをIDViewController.hに追加し、そこにアウトレットを作成します。
IDViewController.h
#import "IDSubclass.h"
...
@property (strong, nonatomic) IBOutlet IDSubclass *outletName;
ストーリーボードを100%にズームします。 50%と言ってズームアウトすると、コンセント接続は機能しません。