我试图为我的第一个应用编写一个简短的介绍。
这是我的代码:
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函数。 我有几个需求:
如何正确使用scrollViewDidEndDecelerating? (我需要它来触发事件"页面已更改"对于pageController元素)。
你能否指引我在scrollView上面实现一些额外的图形效果,作为以与scrollView不同的速度进入和退出视图的对象(如Google Calendar Intro,或Evernote Intro等) 。)?
答案 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