Xcode 4.3.3 を使用すると、カスタム UIView クラスのアウトレットを Interface Builder で作成されたオブジェクトに接続する方法がわかりません。
1 つの ViewController には、ビューにグループ化しようとしているさまざまなボタン、スライダーなどがあります。そのため、IB の ViewController 内に 3 つのビューを追加しました。一度に表示できるビューは 1 つだけです。
これら 3 つのビューのそれぞれを処理するカスタム UIView クラスを派生させました。私のView Controllerは各クラスをインスタンス化します。IB でビューを選択し、Identity Inspector を開き、クラスをカスタム クラスに設定しました。しかし、ビューおよび/または構成要素のコントロールからカスタム ビューの .h ファイルに接続をドラッグしようとすると、IB は接続を追加しません。
IB では、カスタム ビューの .h ファイルではなく、親ビュー コントローラーの .h にドラッグしてアウトレット/アクションを追加できます。ビューのクラスをカスタム クラスに設定したら、ビューのコンポーネントのアウトレットをビュー コントローラーではなくカスタム クラスにドラッグできると思いました。
UIviewアウトレットをカスタムサブビューに接続する方法2つの解決策(アウトレットを手動で追加し、IBでビューのクラスを設定する)は、私の動作を変更しませんでした。追加した手動アウトレットは次のとおりです。
customView3.h
#import <UIKit/UIKit.h>
@interface customView3 : UIView
@property (retain) IBOutlet customView3 *view3;
@property (retain) IBOutlet UISlider *slider;
@end
customView3.m
#import "customView3.h"
@implementation customView3
@synthesize view3, slider;
- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
// Initialization code
}
return self;
}
@end
ここで何が欠けていますか?ビュー コントローラーではなくカスタム UIView にアウトレットを追加するには、他に何を設定/確認する必要がありますか?