swift简单实现左右滑动页面

import UIKit

let screenW = Utils.screenWidth()
let screenH = Utils.screenHeight()

class HomeViewController: UIViewController, UIScrollViewDelegate {
    @IBOutlet weak var sc_tab: UISegmentedControl!
    @IBOutlet weak var sv_home: UIScrollView!
    
    
    var studyVC:StudyViewController!
    var historyVC:HistoryViewController!
    var collectionVC:CollectionViewController!
    var viewAyy:[UIView]!

    override func viewDidLoad() {
        super.viewDidLoad()
        viewAyy = [UIView]()
        studyVC = storyboard?.instantiateViewControllerWithIdentifier("studyID") as! StudyViewController
        viewAyy.append(studyVC.view)
        historyVC = storyboard?.instantiateViewControllerWithIdentifier("historyID") as! HistoryViewController
        viewAyy.append(historyVC.view)
        collectionVC = storyboard?.instantiateViewControllerWithIdentifier("collectionID") as! CollectionViewController
        viewAyy.append(collectionVC.view)
        sv_home.frame = CGRectMake(0, 0, screenW, screenH)
        for var i=0;i<viewAyy.count;i++ {
            viewAyy[i].frame = CGRectMake(CGFloat(i) * screenW, 0, screenW, sv_home.frame.height)
            sv_home.addSubview(viewAyy[i])
        }
        sv_home.contentSize = CGSizeMake(screenW * CGFloat(viewAyy.count), 0)
        sv_home.delegate = self
        sc_tab.selectedSegmentIndex = 0
    }
    
    func scrollViewDidScroll(scrollView: UIScrollView) {
        if scrollView == sv_home {
            let _currPage = (scrollView.contentOffset.x + scrollView.frame.width * 0.6) / scrollView.frame.width
            sc_tab.selectedSegmentIndex = Int(_currPage)
        }
    }
    
    @IBAction func onChangedTab(sender: UISegmentedControl) {
        sv_home.contentOffset = CGPointMake(screenW * CGFloat(sender.selectedSegmentIndex), 0)
    }

}


转载于:https://my.oschina.net/jjtm/blog/637683

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值