ページコントローラのIBOutletを作成し、Scrollview
@IBOutlet weak var pageController: UIPageControl!
@IBOutlet weak var ScrollController: UIScrollView!
let pageString = ["showsHorizontalScrollIndicator working pagecontroller", "running christmas card contact in ", "from the application you can back the Address"]
アレイの作成機能の委任方法
class ViewController: UIViewController, UIScrollViewDelegate {}
スクロールビュー UIScrollViewDelegateと方法
のためのデリゲートメソッドを作成します
// MARK:- Page Controller
func loadScrollView() {
let pageCount : CGFloat = CGFloat(pageString.count)
ScrollController.backgroundColor = UIColor.clear
ScrollController.delegate = self
ScrollController.isPagingEnabled = true
ScrollController.contentSize = CGSize(width: ScrollController.frame.size.width * pageCount, height: ScrollController.frame.size.height)
ScrollController.showsHorizontalScrollIndicator = false
ScrollController.alwaysBounceVertical = false
pageController.numberOfPages = Int(pageCount)
pageController.addTarget(self, action: #selector(self.pageChanged), for: .valueChanged)
for i in 0..<Int(pageCount) {
print(self.ScrollController.frame.size.width)
let textView = UILabel(frame: CGRect(x: self.ScrollController.frame.size.width * CGFloat(i), y: 0, width: ScreenWidth - 30 , height: 30))
textView.text = pageString[i]
textView.numberOfLines = 0
textView.textColor = UIColor.white
textView.textAlignment = .center
self.ScrollController.addSubview(textView)
}
}
//MARK: UIScrollView Delegate
func scrollViewDidScroll(_ scrollView: UIScrollView) {
let viewWidth: CGFloat = scrollView.frame.size.width
// content offset - tells by how much the scroll view has scrolled.
let pageNumber = floor((scrollView.contentOffset.x - viewWidth/50)/viewWidth) + 1
pageController.currentPage = Int(pageNumber)
}
//MARK: Page tap action
@objc func pageChanged() {
let pageNumber = pageController.currentPage
var frame = ScrollController.frame
frame.origin.x = frame.size.width * CGFloat(pageNumber)
frame.origin.y = 0
ScrollController.scrollRectToVisible(frame, animated: true)
}
最後
loadScrollView()
)(のviewDidLoadに関数を呼び出します