试图为我的应用编写简短的介绍

时间:2016-12-07 14:47:26

标签: ios swift uiscrollviewdelegate

我试图为我的第一个应用编写一个简短的介绍。

这是我的代码:

import UIKit
class ViewController: UIViewController, UIScrollViewDelegate {

    var MainscrollView = UIScrollView()

    override func viewDidLoad() {
        super.viewDidLoad()
        MainscrollView.delegate = self

        //Frames
        var singleFrame : CGRect = self.view.frame;

        var scrollFrame : CGRect = singleFrame
        scrollFrame.size.width *= 3.0 //num. frames

        //Views

        //ScrollView
        MainscrollView = UIScrollView(frame: singleFrame)
        view.addSubview(MainscrollView)
        MainscrollView.isPagingEnabled = true
        MainscrollView.contentSize = scrollFrame.size

        //1 frame
        let firstView : UIView = UIView(frame: singleFrame)
        firstView.backgroundColor = UIColor.red
        MainscrollView.addSubview(firstView)

        //2 frame
        singleFrame.origin.x = firstView.frame.size.width
        let secondView : UIView = UIView(frame: singleFrame)
        secondView.backgroundColor = UIColor.yellow
        MainscrollView.addSubview(secondView)

        //3 frame
        singleFrame.origin.x = firstView.frame.size.width * 2
        let thirdView : UIView = UIView(frame: singleFrame)
        thirdView.backgroundColor = UIColor.green
        MainscrollView.addSubview(thirdView)
    }

    func scrollViewDidEndDecelerating(_ MainscrollView : UIScrollView) {
        print("in here")
    }
}

不幸的是,从不触发scrollViewDidEndDecelerating函数。 我有几个需求:

  1. 如何正确使用scrollViewDidEndDecelerating? (我需要它来触发事件"页面已更改"对于pageController元素)。

  2. 你能否指引我在scrollView上面实现一些额外的图形效果,作为以与scrollView不同的速度进入和退出视图的对象(如Google Calendar Intro,或Evernote Intro等) 。)?

1 个答案:

答案 0 :(得分:0)

此外,您已创建UIScrollView两次:

     var MainscrollView = UIScrollView()

MainscrollView = UIScrollView(frame: singleFrame)

因此,在设置委托后,您的MainscrollView再次创建。您可以更改代码以设置正确的框架:

    MainscrollView.frame = singleFrame
    view.addSubview(MainscrollView)
    MainscrollView.isPagingEnabled = true
    MainscrollView.contentSize = scrollFrame.size

你必须用骆驼案例命名你的财产 - mainScrollView