Попытка написать короткое вступление для моего приложения

Я пытаюсь написать короткое вступление для моего первого приложения.

Вот мой код:

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 ответ

Кроме того, вы создали UIScrollView дважды:

     var MainscrollView = UIScrollView()

а также

MainscrollView = UIScrollView(frame: singleFrame)

Итак, после установки делегата ваш MainscrollView создан снова. Вы можете изменить свой код, чтобы установить правильный кадр следующим образом:

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

И вы должны назвать свою собственность в случае верблюда - mainScrollView

Другие вопросы по тегам