背景图像设置问题(github上的GHWalkThrough库)

时间:2015-08-18 21:28:00

标签: ios objective-c

这是我想在我的应用程序中使用的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 ...

有人能看到这里有什么问题吗?

2 个答案:

答案 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;
}

请在您的应用图片文件夹中添加图片名称,如下所示。

(注意:您的图片名称在项目中设置如下。)

示例图片名称: -

enter image description here

你的条件明智,你有新的索引,但没有得到图像,但当你设置图像名称像上图像名称和&你把你的图像作为索引。

答案 1 :(得分:1)

您似乎无法更新resultListArray.sort({ $0.fileName.compare($1.fileName) == NSComparisonResult.OrderedAscending }),这意味着它会保持为0。

如果它保持为0,则图像将始终为index