2014-04-29 87 views
0

我在處理CGFloat時遇到了一個奇怪的問題,它正在處理新的iOS(v7 SDK)應用程序。當我嘗試獲取寬度並將其保存到CGFloat中時,尺寸爲2448w X 3264h(保存在photographSize中)的測試照片會產生錯誤。代碼如下所示:CGFloat值賦值錯誤

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

photoScale被錯誤地分配值7.6500001而不是2448.什麼給?這是上/下溢的標誌嗎?我在調試器中驗證了photosSize中的值爲2448w X 3264h。另外,照片是一個UIImageView。

謝謝,我將全天監視此線程。

+0

添加一些代碼。 –

+0

該作業中不能有上溢/下溢,所以'photographSize'必須已經包含「錯誤」的值。你在調試器中檢查過它嗎? –

+0

顯示與'photographSize'有關的編碼 – staticVoidMan

回答

1

也許是錯誤?應該

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

我更新了代碼並澄清了問題,發佈第一行是我的錯誤。感謝您的建議! –

+0

@LukePrince那麼?沒有幫助?然後請張貼更多的代碼。 – nicael

1

更新源代碼像下面

CGFloat photoScale = photographSize.width; 

CGFloat photoScale = photographScaledSize.width; 
+1

我已經指出了這一點。查看發佈的答案,否則有一個*可能性*您發佈重複。 – nicael

+0

爲了清晰起見,我更新了代碼。 –

0

我用你的代碼與我的形象和它的工作我的罰款。可能在分配圖像時出現問題UIImage *photographImage

UIImage *photographImage = [UIImage imageNamed:@"7_normal.png"]; 
    CGSize photographSize = [photographImage size]; 
    CGFloat photoScale = photographSize.width;