2010-12-03 12 views

Respuesta

51

Así es como hacerlo con una sola línea de código:

myview.frame = CGRectMake(23, 50, myview.frame.size.width, myview.frame.size.height); 

o

[myview setFrame:CGRectMake(23, 50, myview.frame.size.width, myview.frame.size.height)]; 
+0

Ok por lo que no hay un método para establecer sólo el tamaño! – MatterGoal

+3

También puede ir: '[myview setFrame: CGRectMake (23, 50, CGRectGetWidth (myview.frame), CGRectGetHeight (myview.frame))];' – runmad

+1

@runmad Su respuesta también es la preferida por Apple, consulte http: //developer.apple.com/library/ios/documentation/graphicsimaging/reference/CGGeometry/Reference/reference.html –

31

Es necesario configurar todo el marco a la vez. Proveedores:

CGRect newFrame = myview.frame; 
newFrame.size = CGSizeMake(23.0, 50.0); 
myview.frame = newFrame; 
+0

No se olvide de establecer las subvistas clip de si tiene un anidado UIView etc ... –

3

No es que yo sepa. En lugar de cambiar la propiedad de marco de su vista, puede cambiar la propiedad de límites, independientemente de lo que establezca para xey, no afectará su posición de vista. Asegúrate de usar 0 para xey.

self.myView.bounds = CGRectMake(0,0, newWidth, newHeight); 
Cuestiones relacionadas