【问题标题】:How do I make my ImageView scrollable without affecting the rest of the view?如何使我的 ImageView 可滚动而不影响视图的其余部分?
【发布时间】:2017-11-28 04:33:50
【问题描述】:

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

导入 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!)
    }

}

【问题讨论】:

    标签: ios swift swift3 uiimageview uiimage


    【解决方案1】:

    您正在寻找称为图像幻灯片或图像滑块的东西。

    与其自己创建它们需要大量的努力,这里有一个易于使用的GitHub library

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

    要使用它,请在视图控制器中创建一个 UIView,并将类和模块都设置为 ImageSlideshow。然后将它作为 IBOutLet 连接到您的 ViewController.swift。

    然后创建一个图片url数组

    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)
    }
    

    【讨论】:

    • 我仍然对如何在我的情况下实现它感到困惑
    • @Riccardo 你在用故事板吗?此图像滑块是否位于情节提要的视图控制器上?
    • 我正在使用故事板
    • @Riccardo 更新答案
    猜你喜欢
    • 1970-01-01
    • 2014-02-26
    • 2012-12-14
    • 2020-04-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多