2012-05-05 2 views
3

я мои подвиды хранятся в массиве ... Я хочу, чтобы поместить эти подвидов в мой основной вид из массива ....Как добавить subviews из массива в uiview?

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]]; 
    } 

вы можете сказать мне, что я делаю неправильно

+2

Прежде всего, я бы рекомендовал использовать быстрое перечисление –

+0

что такое canvasView? Если вы хотите добавить изображение, то вы можете иметь imageViews на главном экране в позиции, где вы хотите отображать изображения/ – rishi

+1

, пожалуйста, объясните свой вопрос?, CanvasView - это UIimageView ot Uiview? – Deepesh

ответ

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]; 
} 
+0

imageviewArray - это массив, в котором есть инициализированные uiviews для добавления в мой основной вид или self.view –

+0

Затем попробуйте запустить мой код , Он не будет работать лучше, чем ваш, но выход журнала может помочь нам понять, что не так. – fzwo

0

Б перечисление добавить изображения на холсте с помощью View 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]; 
}
Смежные вопросы