タイトルで述べたように、UIButtons の IBOutletCollection は、viewDidLoad の後は空です。同じ方法で UILabels の IBOutletCollection を作成しましたが、これは完全に機能しています。これをどのように修正できるか、またはどこで間違いを犯したか考えていますか?
コードは次のとおりです。
@property (strong, nonatomic) IBOutletCollection(UILabel) NSArray *lbl_save;
@property (strong, nonatomic) IBOutletCollection(UILabel) NSArray *lbl_cancel;
@property (strong, nonatomic) IBOutletCollection(UILabel) NSArray *lbl_edit;
@property (strong, nonatomic) IBOutletCollection(UIButton) NSArray *btn_changeData;
@property (strong, nonatomic) IBOutletCollection(UIButton) NSArray *btn_save;
@property (strong, nonatomic) IBOutletCollection(UIButton) NSArray *btn_cancel;
ボタンは xib に配置され、対応するアウトレットに正しくリンクされます。ラベルのように。
ボタンの 1 つを押すのは初めてで、コード内のボタンにアクセスしたい。
for (UIButton *btn in _btn_changeData) {
btn.hidden = NO;
btn.userInteractionEnabled = YES;
}
for (UIButton *btn in _btn_save) {
btn.hidden = YES;
btn.userInteractionEnabled = NO;
}
for (UIButton *btn in _btn_cancel) {
btn.hidden = YES;
btn.userInteractionEnabled = NO;
}
for (UILabel *lbl in _lbl_save) {
lbl.hidden = YES;
}
for (UILabel *lbl in _lbl_cancel) {
lbl.hidden = YES;
}
for (UILabel *lbl in _lbl_edit) {
lbl.hidden = NO;
}
それはまた、次の例外を取得して、Button OUtletcollection が空であることを認識した場所でもあります。
-[UIButton countByEnumratingWithState:objects:count:]: 認識されないセレクターがインスタンス 0xa8a8850 に送信されました
アウトレットコレクションを上書きしたり、ボタンの属性を変更したりしません。ラベルがコレクションにあり、ボタンがないというだけです。そして、私には理由がわかりません。
助けが必要な場合は、事前に Thx.
マヴ