2014-01-30 22 views
1

因此,我終於咬住子彈,跳入限制惡夢,將您的筆尖集成到ios7。我設法得到了一些限制,但是我發現了一些帶有自定義圖像的tableviewcell的怪異顯示問題。在這裏看到:UITableViewCell在pre-ios7上無法正確顯示

iOS6的: ios 6 table

ios7: ​​

這裏是我的代碼聲明BG:

+ (UIImage*)yourTurnCell { 
     if (sYourTurnCell == nil) { 
     UIImage *i = [UIImage imageNamed:@"YourTurnCell.png"]; 
     sYourTurnCell = i; 
     } 
     return sYourTurnCell; 
    } 

我的細胞結構功能中:

self.backgroundView = [[UIImageView alloc] initWithImage: 
    [GameListCell yourTurnCell]]; 
    self.selectedBackgroundView = [[UIImageView alloc] 
    initWithImage:[GameListCell yourTurnCell]]; 

表的寬度決定了在nib文件中完成的行的寬度。

任何人有任何想法如何解決這個問題?一切都是298px寬,但對於ios6的一些未知的原因,我得到的細胞比其他一切都小,即使圖像本身是298px。

回答

0

所以我無法解決這個問題,但我找到了解決方法。我簡單地爲3.5和4個視網膜屏幕構建了一個單獨的筆尖。還包括一個iPad。使用它自己的筆尖,我能夠從頭開始正確地構建它,而沒有一個愚蠢的奇怪的故障。

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil{ 

CGSize result = [[UIScreen mainScreen] bounds].size; 
if(result.height == 480){ 
    // Retina 3.5 
    self = [super initWithNibName:@"SettingsViewController~iphone" bundle:nibBundleOrNil]; 
}else if(result.height == 568){ 
    // Retina 4 
    self = [super initWithNibName:@"SettingsViewController~iphone5" bundle:nibBundleOrNil]; 
}else{ 
    // iPad 
    self = [super initWithNibName:@"SettingsViewController~ipad" bundle:nibBundleOrNil]; 
} 

return self; 
}