0

ストーリーボードに 8 つの異なるオブジェクト (UIImageView と textview の 4 つのペア) を作成し、それぞれを IBOutletCollection に接続しましたが、これを行うと

for (UIView *element in infoElements) {
    NSLog(@"frame: %@", NSStringFromCGRect(element.frame));
}

それは返す

frame: {{0, 0}, {0, 0}}

[infoElements count] は正しく 8 を返します

NSLog(@"element: %@", element);

オブジェクトを正しく返しますが、フレームのみが欠落しています。IBOutletCollection 内のすべてのオブジェクトの位置 (x と y) だけが必要です。

初期化は次のようになります。

@interface infoViewController : UIViewController{
    IBOutletCollection(UIView) NSArray *infoElements;
}

@property (nonatomic, retain) IBOutletCollection(UIView) NSArray *infoElements;

私は何時間もグーグルで検索しましたが、誰も同じ問題を抱えていることがわかりませんでした(この未回答の質問を除く)ので、私は何か間違ったことをしているだけだと思います

編集

明確にするために、IBOutletCollection 内のオブジェクトは位置 0,0 ではなく、0,0 より大きいです。

4

1 に答える 1