2017-05-27 9 views
0

私はscrollコントローラでラベルにテキストを表示するビューコントローラを持っていますが、そのラベルのページコントロールを作成して、ページコントロールを持つラベルの異なるテキストを意味します。私はラベルの次のコードを持っています。Pagecontrol for swift

輸入財団 輸入のUIKit事前に

class tips : UIViewController { 



@IBOutlet weak var tipsscroll: UIScrollView! 

@IBOutlet weak var solutionlabel: UILabel! 
override func viewDidLoad() { 
    super.viewDidLoad() 



    solutionlabel.text = "Some text" 

    solutionlabel.numberOfLines = 0 
    solutionlabel.lineBreakMode = NSLineBreakMode.byWordWrapping 
    // solutionlabel.font = UIFont(name:"HelveticaNeue-Bold", size: 14.0) 


} 

感謝。

答えて

0

ページコントローラの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に関数を呼び出します