あなたが最初のNSBundleクラスにloadNibNamed:owner:options:
メッセージを送信し、それをロードするために持っているXIBファイルの内容を取得するために。
CustomViewとCustomView.xibという名前のUIViewサブクラスがあるとします。 xibファイルには、各ビューにタグがあります。 .hファイルは次のようになります。
@interface CustomView : UIView
@property (nonatomic, assign) UILabel *someTextLabel; //use assign in order to not to override dealloc method
@end
.m
@implementation CustomView
- (id)init {
self = [super init];
if (self) {
NSArray *topLevelObjects = [[NSBundle mainBundle] loadNibNamed:@"CustomView" owner:nil options:nil];
[self addSubview:[topLevelObjects objectAtIndex:0]]; //this object is a CustomView.xib view
self.someTextLabel = (UILabel *)[self viewWithTag:5]; //consider you have a UILabel on CustomView.xib that has its tag set to 5
}
return self;
}
@end
これは、カスタムUIViewサブクラスの.xibsの使用方法です。あなたのアプリがチャットのようなものなら、プログラムで追加する必要があります。
2つのカスタムビュー間でメッセージを送信する最善の方法として、それぞれのビューで相互に弱い参照を作成する必要があります。別の
@property (nonatomic, assign) AnotherCustomView *anotherCustomView;
で1
@property (nonatomic, assign) CustomView *customView;
で
といくつかのも
- (void)buttonPressed {
[customView handleButtonPressedEvent];
}
を発生したときだけ、これがクリアされている場合、私に教えてください彼らにメッセージを送信します。
ありがとうございました。そんなに解決しなかったのですが、それが私を始めました! –