如何在不影响视图其余部分的情况下使ImageView可滚动?

时间:2017-06-24 21:11:04

标签: ios swift swift3 uiimageview uiimage

如何为顶部添加多个图像并使其可滚动而不移动其余内容?另外,如何在底部有小点来指示我在哪个图像上?我的图像代码如下。 enter image description here

导入SDWebImage

@IBOutlet weak var headerImage: UIImageView!


override func viewWillAppear(_ animated: Bool) {
    super.viewWillAppear(animated)


    let imageUrl:NSURL? = NSURL(string: headerPhoto!)

    if let url = imageUrl {
        headerImage.sd_setImage(with: url as URL!)
    }

}

1 个答案:

答案 0 :(得分:1)

您正在寻找名为图片幻灯片或图片滑块的内容。

这不是自己创建需要付出很多努力的,而是一个易于使用的GitHub library

基本上滑块的工作方式是它是一个水平滚动视图,滚动视图中的每个单元格都是一个图像,以便您可以滚动。然后,在滚动视图的底部放置一个固定的页面索引元素,以告诉您当前所在的图像。

要使用它,请在viewcontroller中创建一个UIView,并将类和模块都设置为ImageSlideshow。然后将其作为IBOutLet连接到ViewController.swift。

然后创建一个图像网址数组

let alamofireSource = [AlamofireSource(urlString: "imgurl1")!, AlamofireSource(urlString: "imgurl2")!, AlamofireSource(urlString: "imgurl3")!]

最后在你的viewDidLoad()函数中:

override func viewDidLoad() {
    super.viewDidLoad()

    slideshow.backgroundColor = UIColor.white
    slideshow.slideshowInterval = 5.0
    slideshow.pageControlPosition = PageControlPosition.underScrollView
    slideshow.pageControl.currentPageIndicatorTintColor = UIColor.lightGray
    slideshow.pageControl.pageIndicatorTintColor = UIColor.black
    slideshow.contentScaleMode = UIViewContentMode.scaleAspectFill

    slideshow.setImageInputs(alamofireSource)
}