iphone - Creating views on the fly from array -


i need create a bunch views on fly. wondering best way go doing ill need define coordinates, tag, colours of each view.

would need create multidimensional array , if how can this?

cgrect viewrect1 = { 80.0, 200.0, 160.0, 100.0 }; uiview *myview1 = [[uiview alloc] initwithframe:viewrect1]; [myview1 setbackgroundcolor:[uicolor darkgraycolor]]; 

you need define structure hold data needed create uiview.

@interface myviewdataholder :nsobject {      cgrect mviewrect;      uicolor* mdarkgraycolor;      nsinterger mtag; }  @end 

then create object of above class , assign values in member add in nsarray...

edited:

in myviewdataholder.h class

@interface myviewdataholder :nsobject {     cgrect mviewrect;     uicolor* mdarkgraycolor;     nsinteger mtag; } @property (nonatomic,assign) cgrect mviewrect; @property (nonatomic,retain) uicolor* mdarkgraycolor; @property (nonatomic,assign) nsinteger mtag;  @end 

in myviewdataholder.mm class

#import "myviewdataholder.h"   @implementation myviewdataholder  @synthesize mviewrect,mdarkgraycolor,mtag;  -(void) dealloc {     [mdarkgraycolor release]     mdarkgraycolor = nil; } 

now how use ....

create objects of myviewdataholder below ...

myviewdataholder* myobj1 = [[myviewdataholder alloc] init]; myobj1.mviewrect = cgrectmake(x,y,width,height); myobj1.tag = 1; myobj1.mdarkgraycolor = [uicolor redcolor]; 

create as need

then create nsmutablearray , add each objects of myviewdataholder nsmutablearray.

nsmutablearray* myarray = [[nsmutablearray alloc] init]; [myarray addobject:myobj1]; [myarray addobject:myobj2]; [myarray addobject:myobj3]; , on .... 

when need stored info use below ...

for(int index =0; index < [myarray count]; index++) {       myviewdataholder* myobj = (myviewdataholder*)[myarray objectatindex:index];      myview = [[uiview alloc] initwithframe:myobj.mviewrect];      //incriment x , y refelect want next view suituated       myview.tag = myobj.mtag;       myview.backgroundcolor =  myobj.mdarkgraycolor;      [self.view addsubview:myview];      [myview release]; } 

the code reflect approach , although didn't compile code use reference

thanks ,


Comments

Popular posts from this blog

php - What is the difference between $_SERVER['PATH_INFO'] and $_SERVER['ORIG_PATH_INFO']? -

fortran - Function return type mismatch -

queue - mq_receive: message too long -