2011-12-12 47 views
0

我有一個測驗應用程序,我建了並且得到了一些圖像的問題的bug報告,沒有正確地佈置答案。我遇到的問題是在開發過程中不會發生這種情況。該bug報告是在第二代Ipod touch 4.2.1上運行的,我試圖獲得一個測試版本。distrobution版本中的錯誤不會顯示在開發中

以下是開發和分發版本的屏幕截圖。

http://farm8.staticflickr.com/7169/6501675055_1ea8c3d18b.jpg

http://farm8.staticflickr.com/7015/6501727253_ddc0fb616f.jpg

(顯然我沒有足夠信任張貼圖片)

這是我寫的創建和佈局這些按鈕

for (int i =0; i < question.buttonTitles.count; i++) { 
    NSLog(@"add images for answer: %@", [question.buttonTitles objectAtIndex:i]); 
    UIImage * image = [UIImage imageNamed:[question.buttonTitles objectAtIndex:i]]; 
    float x = 0.0f; 
    float y = 0.0f; 
    float width = image.size.width;; 
    float height = image.size.height; 
    NSLog(@"%@", NSStringFromCGSize(image.size)); 

    if (question.buttonTitles.count != 4) { 
     x = (293.0 - width)/2.0; 
     y = questionLabel.frame.origin.y + questionLabel.frame.size.height + (i * height) + (12 * (i)); 
    }else{ 
     switch (i) { 
      case 0: 
       x = (self.frame.size.width/2) - 7 - width; 
       y = (self.frame.size.height/2 + questionLabel.frame.size.height/2) - 7 - height; 
       break; 
      case 1: 
       x = (self.frame.size.width/2) + 7; 
       y = (self.frame.size.height/2 + questionLabel.frame.size.height/2) - 7 - height; 
       break; 
      case 2: 
       x = (self.frame.size.width/2) - 7 - width; 
       y = (self.frame.size.height/2 + questionLabel.frame.size.height/2) + 7; 
       break; 
      case 3: 
       x = (self.frame.size.width/2) + 7; 
       y = (self.frame.size.height/2 + questionLabel.frame.size.height/2) + 7; 
       break; 
     } 
    } 
    UIButton *imageButton = [UIButton buttonWithType:UIButtonTypeCustom]; 
    imageButton.frame = CGRectMake(x, y, width, height); 
    [imageButton setImage:image forState:UIControlStateNormal]; 
    [self addSubview:imageButton]; 
    SEL functionName; 
    functionName = NSSelectorFromString([buttonFunctions objectAtIndex: i]); 
    [imageButton addTarget:self action: functionName 
      forControlEvents:UIControlEventTouchUpInside]; 
} 

回答

0

有Xcode 4.2附帶的編譯器中的一個錯誤,它錯誤地編譯了armv6的拇指代碼。其中一種表現方式本身就是干擾CGRect和類似的結構,這顯然破壞了佈局。

臨時的解決方法是禁用armv6的拇指,但該錯誤在Xcode 4.2.1中得到了修復。自從將應用程序提交到App Store後,你是否已經從4.2升級到4.2.1?這可能就是爲什麼你現在不能重現這個bug。

這很可能是您可以通過重新編譯最新版本的Xcode並重新提交來修復該錯誤。如果可能的話,我會回滾到早期版本的Xcode並預先使用實際設備進行驗證。

+0

禁用拇指爲armv6確實解決了這個問題。謝謝。 – agento2

相關問題