ios - Multiple Subviews inside a view and Autoresize -


i'm trying create component represent logo using code below:

- (void) createsubviews {     cgrect path[] = {         cgrectmake(62.734375,-21.675000,18.900000,18.900000),         cgrectmake(29.784375,-31.725000,27.400000,27.300000),         cgrectmake(2.534375,-81.775000,18.900000,18.900000),         cgrectmake(4.384375,-57.225000,27.400000,27.300000),         cgrectmake(2.784375,62.875000,18.900000,18.900000),         cgrectmake(4.334375,29.925000,27.400000,27.300000),         cgrectmake(62.734375,2.525000,18.900000,18.900000),         cgrectmake(29.784375,4.475000,27.400000,27.300000),         cgrectmake(-21.665625,-81.775000,18.900000,18.900000),         cgrectmake(-31.765625,-57.225000,27.400000,27.300000),         cgrectmake(-81.615625,-21.425000,18.900000,18.900000),         cgrectmake(-57.215625,-31.775000,27.400000,27.300000),         cgrectmake(-81.615625,2.775000,18.900000,18.900000),         cgrectmake(-57.215625,4.425000,27.400000,27.300000),         cgrectmake(-21.415625,62.875000,18.900000,18.900000),         cgrectmake(-31.765625,29.925000,27.400000,27.300000)};      (int = 0; < 16; i++) {         cgrect rect = cgrectapplyaffinetransform(path[i],           cgaffinetransformmakescale(self.frame.size.width / 213.0,                                      self.frame.size.height / 213.0));         ellipseview * v = [[ellipseview alloc] initwithframe:                 cgrectoffset(rect, self.frame.size.width/2.0, self.frame.size.height/2)];         v.tag = 90000 + i;         v.tintcolor = self.tintcolor;         [self addsubview:v];     }     self.initiallenght = self.frame.size.width; }  -(void) layoutsubviews {     cgfloat ratio = self.frame.size.width / self.initiallenght;     (int = 0; < 16; i++) {         ellipseview * v = (ellipseview*)[self viewwithtag:90000+i];         v.transform = cgaffinetransformmakescale(ratio, ratio);     } } 

i'm having hard time using cgaffinetransform operations. hints on how handle multiple subviews inside view , keep them resizing group?

enter image description here

according uiview reference:

transform property

specifies transform applied receiver, relative center of bounds.

note "center of bounds". transform scales "content" of ellipseview. since views not moved in layoutsubviews, remain @ position , dots scaled.

do have use transforms?

you might change frame of views in createsubviews.

as have coordinates, create cashapelayer, build uibezierpath ellipses according cgrect array, add layer sublayer main view , scale that.


Comments