这是我想在我的应用程序中使用的github上的一个直播开放库。
https://github.com/GnosisHub/GHWalkThrough
有一种设置bg视图的方法:
- (UIImage*) bgImageforPage:(NSInteger)index
{
UIImage* image = [UIImage imageNamed:@"bgimage"];
return image;
}
我想为每个索引添加不同的图像,所以我这样做了:
- (UIImage*) bgImageforPage:(NSInteger)index {
UIImage* image;
if (index == 0) {
image = [UIImage imageNamed:@"screen 1"];
} else if (index == 1) {
image = [UIImage imageNamed:@"screen 2"];
} else if (index == 2) {
image = [UIImage imageNamed:@"screen 3"];
} else if (index == 3) {
image = [UIImage imageNamed:@"screen 4"];
}
return image;
}
结果:
无论何时加载视图都有一个清晰的bg,如果我向左滑动到索引1,我得到屏幕1>如果我向左滑动索引2,3和& 4 bg保持屏幕1 ...
有人能看到这里有什么问题吗?
答案 0 :(得分:2)
我认为您的代码存在轻微错误。
- (UIImage*) bgImageforPage:(NSInteger)index
{
NSString* imageName =[NSString stringWithFormat:@"bg_0%ld.jpg", index+1]; // you have manually add name but not increment index
UIImage* image = [UIImage imageNamed:imageName];
return image;
}
如果你不能使用底码&使用高级代码,你得到你的结果或使用底部代码&使用高级代码然后你也得到相同的结果。
- (UIImage*) bgImageforPage:(NSInteger)index
{
NSString* imageName =[NSString stringWithFormat:@"bg_0%ld.jpg", index+1];
UIImage* image;// = [UIImage imageNamed:imageName];
if (index == 0) {
image = [UIImage imageNamed:imageName];
} else if (index == 1) {
image = [UIImage imageNamed:imageName];
} else if (index == 2) {
image = [UIImage imageNamed:imageName];
} else if (index == 3) {
image = [UIImage imageNamed:imageName];
}
return image;
}
请在您的应用图片文件夹中添加图片名称,如下所示。
(注意:您的图片名称在项目中设置如下。)
示例图片名称: -
你的条件明智,你有新的索引,但没有得到图像,但当你设置图像名称像上图像名称和&你把你的图像作为索引。
答案 1 :(得分:1)
您似乎无法更新resultListArray.sort({ $0.fileName.compare($1.fileName) == NSComparisonResult.OrderedAscending })
,这意味着它会保持为0。
如果它保持为0,则图像将始终为index
。