UITableViewCell在pre-ios7上无法正确显示

问题描述:

因此,我终于咬住子弹,跳入限制恶梦,将您的笔尖集成到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。

所以我无法解决这个问题,但我找到了解决方法。我简单地为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; 
}