在使用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。
谢谢,我会全天监控这个帖子。
答案 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;