unavailable cgrectgetwidth cgpointmake ios objective-c quartz-graphics cgpoint cgrectmake

ios - cgpointmake - cgrectgetwidth swift 4



¿Cómo creo un CGRect desde CGPoint y CGSize? (4)

Necesito crear un marco para un UIImageView de una colección variable de CGSize y CGPoint , ambos valores siempre serán diferentes dependiendo de las opciones del usuario. Entonces, ¿cómo puedo hacer que un formulario CGPoint y CGSize ? Gracias de antemano.


Basándose en la respuesta más excelente de @Jim, también se puede construir un CGPoint y un CGSize utilizando este método. Entonces estas también son formas válidas de hacer un CGRect:

CGRect aRect = { {aPoint.x, aPoint.y}, aSize }; CGrect aRect = { aPoint, {aSize.width, aSize.height} }; CGRect aRect = { {aPoint.x, aPoint.y}, {aSize.width, aSize.height} };


Dos opciones diferentes para Objective-C:

CGRect aRect = CGRectMake(aPoint.x, aPoint.y, aSize.width, aSize.height); CGRect aRect = { aPoint, aSize };

Swift 3:

let aRect = CGRect(origin: aPoint, size: aSize)


puedes usar un poco de sintaxis de azúcar Por ejemplo:

Esto es algo así como un bloque de construcción que puedes usar para un código más legible:

CGRect rect = ({ CGRect customCreationRect //make some calculations for each dimention customCreationRect.origin.x = CGRectGetMidX(yourFrame); customCreationRect.origin.y = CGRectGetMaxY(someOtherFrame); customCreationRect.size.width = CGRectGetHeight(yetAnotherFrame); customCreationRect.size.height = 400; //By just me some variable in the end this line will //be assigned to the rect va customCreationRect; )}


CGRectMake(yourPoint.x, yourPoint.y, yourSize.width, yourSize.height);