我正在开发适用于iOS6和i的ios应用程序iOS7 3.5英寸和4英寸屏幕。我有一些问题,当我为UITableview
设置背景图像。在iOS 6 4英寸和3.5英寸屏幕中显示tableview背景图像。显示没有问题。但我的iOS7 3.5& 4英寸的tableview背景图片没有显示。这是我的问题。这是我的代码。
if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"7.0"))
{
weeklyTableview=[[UITableView alloc]initWithFrame:CGRectMake(0, 60, 320, 480)];
weeklyTableview.dataSource=self;
weeklyTableview.delegate=self;
weeklyTableview.scrollEnabled=YES;
[self.view addSubview:weeklyTableview];
weeklyTableview.separatorStyle=UITableViewCellSeparatorStyleSingleLine;
weeklyTableview.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleBottomMargin;
tableBackgroundImage=[[UIImageView alloc]initWithImage:[UIImage imageNamed:@"dash-bord-bg-small.PNG"]];
tableBackgroundImage.frame=weeklyTableview.frame;
[weeklyTableview setBackgroundView:tableBackgroundImage];
}
else
{
weeklyTableview=[[UITableView alloc]initWithFrame:CGRectMake(0, 60, 320, 480)];
weeklyTableview.dataSource=self;
weeklyTableview.delegate=self;
weeklyTableview.scrollEnabled=YES;
[self.view addSubview:weeklyTableview];
weeklyTableview.separatorStyle=UITableViewCellSeparatorStyleSingleLine;
weeklyTableview.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleBottomMargin;
tableBackgroundImage=[[UIImageView alloc]initWithImage:[UIImage imageNamed:@"dash-bord-bg-small.PNG"]];
tableBackgroundImage.frame=weeklyTableview.frame;
[weeklyTableview setBackgroundView:tableBackgroundImage];
}
答案 0 :(得分:1)
首先,检查项目包中是否存在文件dash-bord-bg-small.PNG
。
其次,请注意,在使用UIImageView
对象时,如果您执行-initWithImage:
并指定64px到64px的图像,则imageView
框架集等于图像的尺寸
稍后,如果您将此imageView
对象的帧更改为320px×320px,则图像将保持64px乘64px,而只有imageView
对象变大。 (无论如何......现在这对你来说不是一个大问题)
最后 ...请注意,默认情况下,iOS6中的UITableViewCell
具有透明背景,但在iOS7中,背景为白色。
试试这个,看看是否有帮助:
- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath
{
[cell.contentView setBackgroundColor:[UIColor clearColor]];
}
(可选) ...转储 if-else 块,因为它相同*
答案 1 :(得分:0)
试试这个
[weeklyTableview setBackgroundColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"dash-bord-bg-small.PNG"]]];