UITableViewCell在pre-ios7上无法正确显示
问题描述:
因此,我终于咬住子弹,跳入限制恶梦,将您的笔尖集成到ios7。我设法得到了一些限制,但是我发现了一些带有自定义图像的tableviewcell的怪异显示问题。在这里看到:UITableViewCell在pre-ios7上无法正确显示
iOS6的:
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;
}