【问题标题】:How should i use UIpageControl from UIScrollView我应该如何使用 UIScrollView 中的 UIpageControl
【发布时间】:2017-09-26 06:56:29
【问题描述】:

我应该如何使用来自UIScrollViewUIpageControl?我卡住了,帮帮我。

这是我的代码,请帮忙;

class home: UIViewController, UIScrollViewDelegate {

    @IBOutlet weak var mainScrollView: UIScrollView!
    @IBOutlet weak var pagecontrol: UIPageControl!

    var imageArray = [UIImage]()
    var pageControl : UIPageControl!

    override func viewDidLoad() {
        super.viewDidLoad()


        mainScrollView.delegate = self

    imageArray = [#imageLiteral(resourceName: "sliderImage"), #imageLiteral(resourceName: "clothing"), #imageLiteral(resourceName: "sports")]

        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.mainScrollView.frame.width, height: self.mainScrollView.frame.height)

            mainScrollView.contentSize.width = mainScrollView.frame.width * CGFloat(i + 1)
            mainScrollView.addSubview(imageView)
        }


        // Do any additional setup after loading the view.
    }


    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }

【问题讨论】:

  • 你卡在哪里了?
  • 你的内容大小太疯狂了,在 for 循环外这样做
  • 我的滚动视图工作正常,但我想在其中添加页面控件。那我该怎么办?

标签: ios iphone swift uiscrollview uipagecontrol


【解决方案1】:

看看这个answer

这些年来情况几乎相同:

  1. 将您的 UIScrollView 委托设置为您的视图控制器(您已这样做);
  2. scrollViewDidScroll委托方法添加代码:
func scrollViewDidScroll(_ scrollView: UIScrollView) 
{
    self.pageControl.currentPage = Int(floorf(Float(scrollView.contentOffset.x / scrollView.width)))
}  
  1. scrollViewDidEndDecelerating方法中添加同样的内容:
func scrollViewDidEndDecelerating(_ scrollView: UIScrollView)
{
    self.pageControl.currentPage = Int(floorf(Float(scrollView.contentOffset.x / scrollView.width)))
}

不过,这取决于您的需求 - 尝试使用和不使用它们如何工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-12-01
    • 1970-01-01
    • 2015-09-02
    • 2011-07-02
    • 1970-01-01
    • 1970-01-01
    • 2011-03-30
    • 2018-11-09
    相关资源
    最近更新 更多