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);