CGRect Center for Ipad

Estoy creando un marco de image con CGRect. Quiero centrar el rectángulo que se crea.

He mirado aquí, así como en la documentation de Apple para la mejor manera de hacer esto, y he encontrado CGRectGetMidY y CGRectGetMidX que obtienen las coorderadas centrales.

Cuando trato de implementar esto en mi propio código me encuentro con problemas. Obtengo un tamaño de propiedad no encontrado en el object del tipo UIIMageView error

#import "MyViewController.h" @interface MyViewController () @end @implementation MyViewController @synthesize mySignatureImage; @synthesize lastContactPoint1, lastContactPoint2, currentPoint; @synthesize imageFrame; @synthesize fingerMoved; @synthesize navbarHeight; - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; if (self) { // Custom initialization } return self; } - (void)viewDidLoad { [super viewDidLoad]; self.view.backgroundColor = [UIColor lightGrayColor]; CGRect mySignatureImageFrame = CGRectMake( CGRectGetMidX(self.view.frame) - (mySignatureImage.size.width/ 2.0), CGRectGetMidY(self.view.frame) - (mySignatureImage.size.height / 2.0), image.size.width, image.size.height); #import <UIKit/UIKit.h> @interface MyViewController : UIViewController <UIAlertViewDelegate> @property (nonatomic, strong) UIImageView *mySignatureImage; @property (nonatomic, assign) CGPoint lastContactPoint1, lastContactPoint2, currentPoint; @property (nonatomic, assign) CGRect imageFrame; @property (nonatomic, assign) BOOL fingerMoved; @property (nonatomic, assign) float navbarHeight; @property (strong, nonatomic) NSManagedObjectContext *managedObjectContext; 

Suponiendo que la image es de tipo UIImage entonces:

 CGRect imageFrame = CGRectMake( CGRectGetMidX(self.view.frame) - (image.size.width / 2.0), CGRectGetMidY(self.view.frame) - (image.size.height / 2.0), image.size.width, image.size.height); 

Suponiendo que imageView es del tipo UIImageView entonces:

 CGRect imageFrame = CGRectMake( CGRectGetMidX(self.view.frame) - CGRectGetMidX(imageView.frame), CGRectGetMidY(self.view.frame) - CGRectGetMidY(imageView.frame), CGRectGetWidth(imageView.frame), CGRectGetHeight(imageView.frame)); 

No necesita calcular el punto central, ya que está disponible para una vista de todos modos:

 CGRect superviewBounds = superview.bounds; imageView.center = CGPointMake(CGRectGetMidX(superviewBounds), CGRectGetMidY(superviewBounds)); 
 - (void)viewDidAppear:(BOOL)animated { img.center = CGPointMake(CGRectGetMidX([self.view bounds]), CGRectGetMidY([self.view bounds])); } /*write code in viewDidApper */