iOS顶部标题滚动条

2017-11-28  本文已影响201人  沈正方

由于最近项目需求需要,需要顶部标题滚动的效果,项目中原有的顶部标题滚动用的是XLPagerTabStrip,使用第三方框架应对需求变更改起来很复杂,所以自己写了一个顶部滚动的效果。
效果如下:

TitleContentView.gif
框架只有四个文件,文件结构如下:
image.png

框架的使用

  1. 导入以上四个文件到项目中
  2. 在根控制器中创建TitleContentView,并添加到根控制器的View
  3. 在创建TitleContentView时,传递标题内容数组[String],标题对应关联的控制器数组[ViewController],根控制器self,以及TitleContentViewframe即可!!!
    项目中需要加入的代码如下:
import UIKit
class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        
        let titles = ["iPhone", "iOS", "KobeBryant", "优土视真", "UtoVR", "shenzhengfang", "JustinBieber", "中国", "Taylor Swift"]
        var childVCs = [UIViewController]()
        for _ in 0..<titles.count {
            let vc = UIViewController()
            vc.view.backgroundColor = UIColor.randomColor()
            childVCs.append(vc)
        }
        
        let style = PageStyle()
        // 修改外观样式
        style.titleViewHeight = 40
        let frame = CGRect(x: 0, y: UIApplication.shared.statusBarFrame.size.height, width: self.view.bounds.width, height: self.view.bounds.height - UIApplication.shared.statusBarFrame.size.height)
        let titleContentView = TitleContentView(frame: frame, style: style, titles: titles, childVCs: childVCs, parentVC: self)
        view.addSubview(titleContentView)
    }
}

注意:

let style = PageStyle()
// 修改标题栏的高度
style.titieViewHeight = 100
// 修改标题栏的背景颜色
style.titleViewColor = UIColor.orange
···

相关代码前往GitHub,如果觉得有收获,留个小星星感激不尽…

上一篇下一篇

猜你喜欢

热点阅读