如何在中心IOS水平对齐我的图像

Lon*_*don 9 objective-c ios ios5

这是我的形象:

Obj *obj = ... obj has imageHref which is NSString

UIImage *image = [UIImage imageNamed:[NSString stringWithFormat:obj.imageHref]]; 
[image drawInRect:CGRectMake(0, 0, image.size.width, image.size.height)];
Run Code Online (Sandbox Code Playgroud)

根据图像大小,我无法弄清楚如何将它居中,任何想法?

这是所有内部方法:

- (void)drawRect:(CGRect)rect {    
    Obj *obj = ... obj has imageHref which is NSString

    UIImage *image = [UIImage imageNamed:[NSString stringWithFormat:obj.imageHref]]; 
    [image drawInRect:CGRectMake(0, 0, image.size.width, image.size.height)];

    NSLog(@"%f", rect.size.width);
     NSLog(@"%f", rect.size.height);
}
Run Code Online (Sandbox Code Playgroud)

其中rect.size.width打印320.000000并rect.size.height打印416.000000

Mel*_*vin 33

[image drawInRect:CGRectMake((self.view.frame.size.width/2) - (image.size.width/2),
                             (self.view.frame.size.height / 2) - (image.size.height / 2),
                             image.size.width, 
                             image.size.height)];
Run Code Online (Sandbox Code Playgroud)

编辑:

因为你已经在UIView:

[image drawInRect:CGRectMake((self.frame.size.width/2) - (image.size.width/2), (self.frame.size.height / 2) - (image.size.height / 2), image.size.width, image.size.height)];
Run Code Online (Sandbox Code Playgroud)


Dam*_*amo 24

这个或类似的东西应该水平居中.

CGPoint centerImageView = imageView.center;
centerImageView.x = self.view.center.x;
ImageView.center = centerImageView;
Run Code Online (Sandbox Code Playgroud)