首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在幻灯片放映iOS应用程序中从URLXcode9加载图像

在幻灯片放映iOS应用程序中从URLXcode9加载图像
EN

Stack Overflow用户
提问于 2018-08-13 13:13:39
回答 2查看 561关注 0票数 0

大家好,我想知道如何从网址加载图片,即使我添加了1,2,3等在iOS的应用程序

本练习的重点是远程更改图像并在应用程序中实时显示它们

实际上,我可以显示来自iOS设备的图像,这是我的代码

代码语言:javascript
复制
import UIKit

class ViewController: UIViewController {

@IBOutlet weak var ImageView: UIImageView!

var timer: Timer!
var counter = 1

override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.

    self.ImageView.image = UIImage(named: "IMAGE_TO_SHOW1")
    counter+=1;
    timer=Timer.scheduledTimer(timeInterval: 3, target: self, selector: #selector(animate), userInfo: nil, repeats: false)

}
@objc func animate(){
    print("Animate Method")

    UIView.transition(with: self.view, duration: 5, options: UIViewAnimationOptions.curveEaseOut,
                      animations: {
                        UIView .setAnimationRepeatCount(5)
                        if(self.counter<6){
                            let name = "IMAGE_TO_SHOW\(self.counter)"
                            self.ImageView.image=UIImage(named: name)
                            self.counter+=1;
                            Timer.scheduledTimer(timeInterval: 3, target: self, selector: #selector(self.animate), userInfo: nil, repeats: false)
                        };if(self.counter==6){
                            self.counter=1

                        }

    }, completion: {finished in


    })
}


}

但是我只能显示5张图片,如果我想要1张、2张、3张或n张图片,我需要显示n张图片

示例:

如果我想要4张图片,那么显示

代码语言:javascript
复制
https://www.images.com/IMAGE_TO_SHOW1
https://www.images.com/IMAGE_TO_SHOW2
https://www.images.com/IMAGE_TO_SHOW3
https://www.images.com/IMAGE_TO_SHOW4

如果我想要3张图片,那就展示

代码语言:javascript
复制
https://www.images.com/IMAGE_TO_SHOW1
https://www.images.com/IMAGE_TO_SHOW2
https://www.images.com/IMAGE_TO_SHOW3

*编辑*我将解释我需要什么

我有2个商店(我自己的商店)我有4个iPad (每个商店2个)我想在每个iPad中显示折扣幻灯片我有一个服务器,我可以通过直接网址发布图像(www.domain.com/image1.jpg)我想通过上传图像在服务器上远程更改幻灯片图像有时我有2个折扣,有时我有5个折扣

实际上,我必须更新应用程序才能显示新的图像,但我只想通过将图像上传到服务器中,如何才能仅通过在服务器上更改图像来显示幻灯片显示更新的图像?

*编辑*

提前感谢您的帮助

EN

回答 2

Stack Overflow用户

发布于 2018-08-13 14:32:38

因为您将动画完成处理程序中的计数器重置为:

代码语言:javascript
复制
if(self.counter==6){
     self.counter=1
}

根据您的数组添加动态计数,而不是6个(如果您将图像urls保存在数组中)。

代码语言:javascript
复制
if(self.counter==YOUR_IMAGE_URLS_ARRAY_COUNT){
     self.counter=1
}

~编辑~

对于动态加载图像,yoiu可以使用Kingfisher library

该库提供了从url设置图像的方法,并提供了完成处理程序。如果需要,您可以在完成处理程序中设置动画,也可以使用动画设置图像。

您可以使用的方法:

代码语言:javascript
复制
imageViewBg.kf.setImage(with: , placeholder: , options: , progressBlock: , completionHandler: )

希望能有所帮助

票数 0
EN

Stack Overflow用户

发布于 2018-08-13 14:38:31

您已将计数器从1开始设置为"var counter = 1“

之后,通过“if(self.counter<6)”条件对其进行检查

因此,在此流程中,计数器执行条件1、2、3、4和5。当它等于6时,条件结果为false。

你需要做的是,使你的计数器等于0,并设置条件"if counter <= arrayOfImages.count“

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51815561

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档