SDWebImage - 来自url的图像在完成下载后没有替换占位符图像

时间:2015-09-15 18:34:40

标签: ios asynchronous uiimageview lazy-loading

我正在使用SDWebImage以异步方式下载和缓存UIImageView中的图像,但我遇到了一些问题。

在我的项目中,我创建了一个pin标记,其中有一个包含UIImageView的对话框。

我面临的问题是来自网址的图片在完成下载后没有替换占位符图片。第一次点击图钉标记将始终显示占位符图像。

来自网址的图片只会在我第二次点击图钉标记后显示。

我想在第一次点击时显示网址中的图片我该怎么办?

这是我的代码

it("should navigate to add employee and add an employee.", function () {
    var tableRowsBeforeAdd = element.all(by.repeater("employee in ec.employees")).count();

    var button = element(by.className("btn"));
    button.click();

    expect(browser.getCurrentUrl()).toContain('add');

    var jmbgInput = element(by.model("ec.employee.jmbg"));
    jmbgInput.sendKeys("9988776655000");
    var nameInput = element(by.model("ec.employee.name"));
    nameInput.sendKeys("Test name");
    var surnameInput = element(by.model("ec.employee.surname"));
    surnameInput.sendKeys("Test surname");

    var submit = element(by.buttonText("Save"));
    submit.click();

    expect(browser.getCurrentUrl()).not.toContain('add');

    ...

PS。请帮我解决这个问题,抱歉我的英文。

2 个答案:

答案 0 :(得分:0)

请尝试使用此代码

dispatch_after(dispatch_time(DISPATCH_TIME_NOW, 0.3 * NSEC_PER_SEC), dispatch_get_main_queue(), ^{
    [thumbnail sd_setImageWithURL:[NSURL URLWithString:currentMarker.thumbnail] placeholderImage:[UIImage imageNamed:@"placeholder.png"] options:SDWebImageRefreshCached];
});

答案 1 :(得分:0)

[。retryFailed,.refreshCached]帮助解决了我的问题。

imageView.sd_setImage(with: picnicThumbnail, maxImageSize: 100000, placeholderImage: placeholderImage, options: [.retryFailed, .refreshCached], completion : nil)