1

Objective C と Cocoa は初めてですが、いくつかのビューなどにスライダーを追加することができました。

コードでスライダーを複数追加したいのですが、forループと配列でやってみました。うまくいきませんでしたが、試したコードは次のとおりです。

NSMutableArray* myarray;
for (int i = 0; i<5; i = i+30) {
    [myarray addObject:[[NSSlider alloc] initWithFrame:NSMakeRect(15+i, 15, 30, 200)]];

}



for (int i=0; i<5; i++) {
    [firstView addSubview:[myarray objectAtIndex:i]];
    NSLog(@"%d",i);
}

(それらを30個離して表示したかったのですが、問題はありませんでした。それから、配列を「介して」機能する場合でもこれを試しました

[myarray addObject:[[NSSlider alloc] initWithFrame:NSMakeRect(15, 15, 30, 200)]];
[firstView addSubview:[myarray objectAtIndex:0]];

スライダーを1つだけ表示しようとしました。どちらも機能しません。

しかし、これは機能します:

    [firstView addSubview:[[NSSlider alloc] initWithFrame:NSMakeRect(45, 15, 30, 200)]];

なんで?そして、複数のスライダー/ボタン/ビューに動的に追加することが本当に重要ではないものを追加する正しい方法は何ですか? 本当のアイデアは、CoreData からデータを取得し、CoreData の各エントリに対してスライダーを表示することです。(でも遠いです)

ヒントとコツが必要です!よろしくお願いします!

ところで、この方法で配列を初期化しようとすると:

NSMutableArray* myarray = [[NSMutableArray alloc] init];

ビューはロードされません(特にこのビューは黒であるため、firstView)

4

1 に答える 1

2

あなたの最初のforステートメントは完全に間違っています:

for (int i = 0; i<5; i = i+30)

一度だけループに入ります。それがおそらく、必要なすべてのスライダーを取得していない理由です.

于 2013-06-06T11:34:06.027 に答える