首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用按钮的水平滚动视图/页面控件

使用按钮的水平滚动视图/页面控件
EN

Stack Overflow用户
提问于 2018-06-07 05:12:25
回答 2查看 43关注 0票数 0

我已经用图片制作了一个带有页面控件的滚动视图(到目前为止还不错)……我想使用(3)按钮而不是图像,并将图像存储在按钮中。这样我以后就可以为每个单独的按钮创建函数了。有一段艰难的尝试。

下面是我的代码:

代码语言:javascript
复制
    import UIKit

class AddImovelVC: UIViewController, UIScrollViewDelegate {

    @IBOutlet weak var scrollImageView: UIScrollView!
    @IBOutlet weak var pageControl: UIPageControl!


    var imageArray = [UIImage]()



    override func viewDidLoad() {
        super.viewDidLoad()

        scrollImageView.delegate = self

        imageArray = [UIImage(named:"0.png"), UIImage(named:"1.png"), UIImage(named:"2.png")] as! [UIImage]

        for i in 0..<imageArray.count{

            let imageView = UIImageView()
            imageView.image = imageArray[i]

            imageView.contentMode = .scaleToFill

            let xPosition = self.view.frame.width * CGFloat(i)
            imageView.frame = CGRect(x:xPosition, y:0, width: self.scrollImageView.frame.width, height: self.scrollImageView.frame.width)

            scrollImageView.contentSize.width = scrollImageView.frame.width * CGFloat(i+1)

            scrollImageView.addSubview(imageView)

        }

    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }
    func scrollViewDidScroll(_ scrollImageView: UIScrollView) {
        pageControl.currentPage = Int(scrollImageView.contentOffset.x / CGFloat(375))
    }
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-06-07 06:11:24

只需更改UIButton循环中的UIImageView,如下所示

代码语言:javascript
复制
let i = 0
let button = UIButton()
button.setImage(imageArray[i], for: [])
button.imageView?.contentMode = .scaleToFill
let xPosition = self.view.frame.width * CGFloat(i)
button.frame = CGRect(x:xPosition, y:0, width: self.scrollImageView.frame.width, height: self.scrollImageView.frame.width)
scrollImageView.contentSize.width = scrollImageView.frame.width * CGFloat(i+1)
scrollImageView.addSubview(button)

如果您想在用户点击按钮时执行某些操作,只需在创建按钮后添加button.addTarget(self, action: #selector(nameOfYourFunction), for: .touchUpInside)即可。

票数 0
EN

Stack Overflow用户

发布于 2018-06-07 06:05:31

您可以使用UIButton而不是UIImageView。

要设置图像,请使用:

代码语言:javascript
复制
button.setImage(image, for: .normal)
button.setBackgroundImage(image, for: .normal)

要检索图像,请使用:

代码语言:javascript
复制
button.currentImage
button.currentBackgroundImage
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50729689

复制
相关文章

相似问题

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