所以我终于咬紧牙关,跳进了将你的笔尖整合到ios7的约束噩梦。我已经设法得到了约束并且没有想到,但是我在使用自定义图像的tableviewcells时遇到了一些奇怪的显示问题。见这里:
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文件中完成。
有人知道我如何解决这个问题吗?一切都是298像素宽,但由于某些未知的原因在ios6上,我得到的细胞比其他所有细胞都小,即使图像本身是298像素。
答案 0 :(得分: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;
}