美文网首页
iOS顶部标题滚动条

iOS顶部标题滚动条

作者: 沈正方 | 来源:发表于2017-11-28 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)
        }
    }
    

    注意:

    • PageStyle中的属性用来自定义界面的样式,通过style拿到对应属性实现样式的修改
    • 具体可修改的样式参考文件PageStyle
    let style = PageStyle()
    // 修改标题栏的高度
    style.titieViewHeight = 100
    // 修改标题栏的背景颜色
    style.titleViewColor = UIColor.orange
    ···
    

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

    相关文章

      网友评论

          本文标题:iOS顶部标题滚动条

          本文链接:https://www.haomeiwen.com/subject/qbssbxtx.html