2013-12-25 2 views
-2

Мне нужно создать 45 50x50 пикселей в моей форме. Вот первые 8. Я планирую загрузить изображения в них позже. Есть ли лучший способ сделать это с помощью цикла? Приведенный ниже код работает отлично, когда я загрузить изображение. Я просто подумал, что там был лучший способ создать все 45.Как создать 45 изображений без большого количества дубликатов кода?

UIView * wview1; 
UIView * wview2; 
UIView * wview3; 
UIView * wview4; 
UIView * wview5; 
UIView * wview6; 
UIView * wview7; 
UIView * wview8;  
wview1 = [[UIView alloc] initWithFrame:CGRectMake(10, 20, 50, 50)]; 
wview2 = [[UIView alloc] initWithFrame:CGRectMake(70, 20, 50, 50)]; 
wview3 = [[UIView alloc] initWithFrame:CGRectMake(130, 20, 50, 50)]; 
wview4 = [[UIView alloc] initWithFrame:CGRectMake(200, 20, 50, 50)]; 
wview5 = [[UIView alloc] initWithFrame:CGRectMake(270, 20, 50, 50)]; 
wview6 = [[UIView alloc] initWithFrame:CGRectMake(340, 20, 50, 50)]; 
wview7 = [[UIView alloc] initWithFrame:CGRectMake(410, 20, 50, 50)]; 
wview8 = [[UIView alloc] initWithFrame:CGRectMake(480, 20, 50, 50)]; 
wview1.tag = 1; 
wview2.tag = 2; 
wview3.tag = 3; 
wview4.tag = 4; 
wview5.tag = 5; 
wview6.tag = 6; 
wview7.tag = 7; 
wview8.tag = 8; 
[self.view addSubview:wview1]; 
[self.view addSubview:wview2]; 
[self.view addSubview:wview3]; 
[self.view addSubview:wview4]; 
[self.view addSubview:wview5]; 
[self.view addSubview:wview6]; 
[self.view addSubview:wview7]; 
[self.view addSubview:wview8]; 
+6

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

+2

@ Ответ отменить правильно, но я бы порекомендовал некоторые чтения о циклах в целом: http://www.tutorialspoint.com/cprogramming/c_for_loop .htm – indragie

ответ

4

Абсолютно!

for (int i=0; i++; i<45) 
{ 
    UIView *wview; 
    wview = [[UIView alloc] initWithFrame:CGRectMake(10 + 60*i, 20, 50, 50)]; 
    wview.tag = i+1; 
    [self.view addSubview:wview]; 
} 

Должно делать это.

+0

Спасибо! Имеет смысл. – GeorgeInKansas

Смежные вопросы