CGFloat值分配错误

时间:2014-04-29 12:42:50

标签: ios objective-c

在使用CGFloat时,我在使用新的iOS(v7 SDK)应用程序时遇到了一个奇怪的问题。当我试图获得宽度并将其保存到CGFloat时,尺寸为2448w X 3264h(保存在photographSize中)的测试照片会产生错误。以下是代码的外观:

@property (weak, nonatomic) IBOutlet UIImageView *Photograph;
...
UIImage *photographImage = Photograph.image;
CGSize photographSize = [photographImage size];
...
CGFloat photoScale = photographSize.width;

为photoScale错误地分配值7.6500001而不是2448.什么给出了什么?这是上溢/下溢发生的迹象吗?我已经在调试器中验证了photographSize中的值为2448w X 3264h。此外,照片是一个UIImageView。

谢谢,我会全天监控这个帖子。

3 个答案:

答案 0 :(得分:1)

也许是个错误?应该是

CGSize photographScaledSize = Photograph.bounds.size;
CGFloat photoScale = photographScaledSize.width;
                               ^^^^^^

答案 1 :(得分:1)

更新源代码,如下所示

CGFloat photoScale = photographSize.width;

CGFloat photoScale = photographScaledSize.width;

答案 2 :(得分:0)

我用你的代码和我的形象一起工作,它很好。将图像分配给UIImage *photographImage

可能会出现问题
    UIImage *photographImage = [UIImage imageNamed:@"7_normal.png"];
    CGSize photographSize = [photographImage size];
    CGFloat photoScale = photographSize.width;