3

i have my subviews stored in an array...what i want is to place these subviews to my main view from array....

for(int i=0;i<[imageViewArray count];i++)
    {
        NSLog(@" image array count is %d",[imageViewArray count]);
       // countlayers= countlayers+1;
      //  [canvasView insertSubview:[imageViewArray objectAtIndex:i] atIndex:countlayers];
        [canvasView addSubview:[imageViewArray objectAtIndex:i]];
    }

can you tell me what i am doing wrong

4

2 に答える 2

0

imageViewArray本当に初期化されたビューが含まれていて、それらのビューがすでに正しい属性を持っている場合frame、何も悪いことはしていません(コードがより洗練されている可能性がありますが)。

また、もちろん、canvasViewが実際に初期化され、画面に表示されていることを確認する必要があります。backgroundColorを目立つものに設定してみてください。

canvasView.backgroundColor = [UIColor greenColor];

canvasViewが実際に表示されていることを確認したら、高速列挙を使用して配列をより適切に処理し、新しいサブビューをログに記録して、フレームが希望どおりであることを確認することをお勧めします。

for (UIView *imageView in imageViewArray) //this is fast enumeration. You can get it through code completion by typing forin
{
    NSLog(@"%@", imageView); //let's take a look at the imageView. What is its frame?
    [canvasView addSubview:imageView];
}
于 2012-05-05T12:16:04.527 に答える
0

列挙型を使用して、imageViewArray を使用してキャンバス ビューに画像を追加しました。おそらく、画像の設定フレームも欠落しています。

for (UIImageView *imageView in imageViewArray) //enumeration. 
{
    //let's set frame for image view before adding to canvasView
    [imageView setFrame:CGRectMake(x,y,w,h)]; 
    //Also make sure imageView has image or not
    if(imageView.image)
    [canvasView addSubview:imageView];
}
于 2012-05-05T12:24:18.890 に答える