无法以编程方式在UIImageView中居中

时间:2012-07-11 11:11:39

标签: objective-c uiimageview ios5

在UIView子类init方法中我有这篇文章:

      imageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 44, 320, 436)]; 
      imageView.contentMode = UIViewContentModeCenter;
      [self addSubview:imageView];
      UIImage* myImage = [UIImage imageWithData: 
                        [NSData dataWithContentsOfURL: 
                         [NSURL URLWithString: imageSource]]];
      myImage = [[MyMath sharedMySingleton] imageWithImage:myImage convertToSize:CGSizeMake(320, 436)]; // resizes image to set bounds
      imageView.contentMode = UIViewContentModeCenter;
      [imageView setImage:myImage];

imageView.contentMode = UIViewContentModeCenter;应该居中显示图像,但它仍会显示在左上角。我做错了什么?

编辑:对不起,我找到了答案。谢谢大家

2 个答案:

答案 0 :(得分:0)

因为你的imageView大小和myImage大小相同。如果您将myImage大小设置为小于imageView大小,则可以识别差异。

答案 1 :(得分:0)

您的myImage大小等于imageView的大小。要查看差异,请使myImage的大小比imageView的小一些。之后它将居中。在您的一行中更改图像的大小:

      myImage = [[MyMath sharedMySingleton] imageWithImage:myImage convertToSize:CGSizeMake(200, 200)]; // resizes image to set bounds