IOS控件学习之UI ScrollView(6)

1、语言:Swift

2、页单位的滚动

    A、 每次手指滑动后,显示一屏的内容。

    B、设置pagingEnable属性 为 true。

3、示例源码如下:

colorViewController.swfit文件 源码:

/*
实现切换的画面
*/

import UIKit

class ColorViewController:UIViewController
{
    var number:Int!;
    
    let colorMap = [
        1:UIColor.greenColor(),
        2:UIColor.blueColor(),
        3:UIColor.purpleColor() ];
    
    
    /// 初始化函数
    init(initNumber:Int)
    {
        self.number = initNumber;
        super.init(nibName: nil, bundle: nil);
    }
    required init?(coder aDecoder: NSCoder) {
        fatalError("init(coder:) has not been implemented");
    }
    
    override func viewDidLoad() {
        ///super.viewDidLoad();
        
        /// 实例化label对象
        let numberLabel = UILabel(frame: CGRectMake(0, 0, 30, 20));
        
        numberLabel.center = self.view.center;
        
        /// 设置显示内容
        numberLabel.text = "第\(number)页";
        
        ///文字自动调整显示宽度
        numberLabel.adjustsFontSizeToFitWidth = true;
        
        /// 设置背景色
        numberLabel.backgroundColor = UIColor.whiteColor();
        
        self.view.addSubview(numberLabel);
        self.view.backgroundColor = colorMap[number];
    }
    
    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
    }
}
        上面的代码,实现了切换画面的效果。

 viewController.swift文件源码:

//


import UIKit

class ViewController: UIViewController {

    let numberOfPages = 3;
    let pageWidth = 320;
    let pageHeight = 360;
    
    override func viewDidLoad() {
        super.viewDidLoad();
        
        
        /// scrollView的初始化
        let scrollView = UIScrollView();
        scrollView.frame = self.view.frame;
        
        /// 为了能横向滚动,设置横向内容为3个页面的宽度之和
        scrollView.contentSize = CGSizeMake(CGFloat(pageWidth*numberOfPages), CGFloat(pageHeight));
        
        scrollView.pagingEnabled = true;
        
        /// 禁用滚动条
        scrollView.showsHorizontalScrollIndicator = false;
        scrollView.showsVerticalScrollIndicator = false;
        
        /// 
        scrollView.scrollsToTop = false;
        
        for i in 0..<numberOfPages
        {
            let coloViewController = ColorViewController(initNumber:(i+1));
            
            /// 设置每一页内容的位置,注意,X轴每次要增加一个页面的宽度
            coloViewController.view.frame = CGRectMake(CGFloat(i * pageWidth), CGFloat(30), CGFloat(pageWidth), CGFloat(pageHeight));
            scrollView.addSubview(coloViewController.view);
        }
        view.addSubview(scrollView);
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }


}
 viewcontroller.swift文件实例化 UIScrollView对象,再通过设置 pagingEnable属性 和 contentSize属性,使得 scrollView能页单位显示和滚动。

你可能感兴趣的:(uiscrollview,页单位滚动,pagingEnable属性)