首先我们需要下载一个第三方
PageTitleView
然后输入创建"VCTwo"视图继承控制器

然后需要在父子控制器创建你需要的子控制器用于书写界面

private lazy var pageTitleView: MFPageTitleView = {
let config = MFPageTitleViewConfig()
config.titleColor = colorWithRGB(r: 43, g: 43, b: 43)
config.titleSelectedColor = colorWithRGB(r: 211, g: 0, b: 0)
config.titleFont = UIFont.systemFont(ofSize: 14, weight: .regular)
config.indicatorColor = colorWithRGB(r: 211, g: 0, b: 0)
let pageTitleView = MFPageTitleView(frame: CGRect(x: 0, y: navHeight, width: SCREEN_WIDTH, height: 41), titles: [“关注”, “推荐”, “热点”, “世界杯”, “小视频”], config: config)
pageTitleView.pageTitleViewDelegate = self
return pageTitleView
}()

private lazy var pageContentView: MFPageContentView = {var childControllers = [UIViewController]()var arr:[UIViewController]=[GuanZ(),TuiJ(),ReD(),ShiJB(),XiaoSP()]for i in 0..<5 {childControllers.append(arr[i])}let pageContentViewY = pageTitleView.frame.maxYlet pageContentView = MFPageContentView(frame: CGRect(x: 0, y: pageContentViewY, width: SCREEN_WIDTH, height: SCREEN_HEIGHT-pageContentViewY), parentVC: self, childVCs: childControllers)pageContentView.pageContentViewDelegate = selfreturn pageContentView
}()override func viewDidLoad() {super.viewDidLoad()view.backgroundColor = UIColor.whiteview.addSubview(pageTitleView)view.addSubview(pageContentView)//导航条标题let vc = UIView(frame: CGRect(x: 0, y: 0, width: 100, height: 40))let iam = UIImageView(frame: CGRect(x: 0, y: 0, width: 100, height: 40))iam.image=UIImage(named: "标题")vc .addSubview(iam)self.navigationItem.titleView=vc}

}

extension VCTwo: MFPageTitleViewDelegate, MFPageContentViewDelegate {
func selectedIndexInPageTitleView(pageTitleView: MFPageTitleView, selectedIndex: Int) {
self.pageContentView.setPageContentViewCurrentIndex(currentIndex: selectedIndex)
}
func pageContentViewScroll(progress: CGFloat, originalIndex: Int, targetIndex: Int) {
self.pageTitleView.setPageTitleView(progress: progress, originalIndex: originalIndex, targetIndex: targetIndex)
}
}

Swift --滚动菜单--父子控制器相关推荐

  1. 模仿网易新闻客户端的滚动菜单

    模仿网易新闻客户端的滚动菜单,点击菜单的时候有放大标题的动画效果.demo地址:https://github.com/BigHub/ScrollMenuViewTest 需要用到facebook的开源 ...

  2. php左右菜单,JQuery实现左右滚动菜单特效_jquery

    经过了半天的时间,这个使用JQuery开发出来的左右滚动菜单功能也算是完成了,暂时还没有发现错误的现象.现在把代码完整的代码拿出来分享! scrollable.js JQuery左右滚动菜单特效脚本代 ...

  3. html鼠标平滑滚动效果,JS特效代码 JS动态平滑滚动菜单效果

    JS特效代码 JS动态平滑滚动菜单效果 www.css5.net body {cursor:crosshair; background:#111; margin:0; padding:0; posit ...

  4. Android之自定义横向滚动菜单

    转载请标明出处: http://blog.csdn.net/hai_qing_xu_kong/article/details/52186398 本文出自:[顾林海的博客] ##前言 已经好长时间没更新 ...

  5. android 半圆滚动菜单,自定义控件:实现半圆滚动菜单效果

    前言 本自定义控件参考自鸿洋大神的自定义控件,基于原来的控件效果进行修改,着重实现了以下效果:位置自动修正以及滑动结束的回调.我们先来看看效果图: 上面的图片是一个ImageView,与控件无关,是为 ...

  6. Swift - 用装有控制器name的数组for循环批量创建控制器(string转UIViewController)

    在Object-C中我们在创建自定义tabbar时会经常把控制器类名(如:HomePageViewController)放在数组中,然后通过for循环批量创建并转换类型为UIVIewControlle ...

  7. 微信小程序-封装原生垂直滚动菜单(类似外卖商品菜单)

    效果展示: 就是根据左侧菜单点击,切换右侧显示的内容,可以上下滚动 colorUI组件库--垂直导航栏 这种是通过原生的微信小程序制作的垂直导航栏,如果想要更好看的样式和效果,这里推荐一款小程序UI组 ...

  8. html滚动菜单置顶,javascript改变position值实现菜单滚动至顶部后固定

    现在很多网站都有这样的一个效果,当页面滚动到一定高度时,菜单栏会固定在页面顶部.其实就是改变 position 的值. html 代码: .wrapper{width:1000px;height:20 ...

  9. 每天一点Swift(五)控制器的生命周期和SizeClass

    字数358 阅读19 评论0 喜欢0 初始化init-->awakeFromNib--> prepare a segue --> SB去设置outlets --> viewDi ...

最新文章

  1. 如何独立开发一个网络请求框架
  2. 简述DataInputStream和DataOuputStream
  3. 安全测试之XSS攻击
  4. windows10 ubuntu 无法连接到 无法建立到 raw.githubusercontent.com 的服务器 IP 地址,解决办法
  5. 山西财经大学计算机考试题及答案,2018年山西财经大学计算机应用技术408计算机学科专业基础综合之计算机操作系统考研基础五套测试题...
  6. Qt Installer Framework翻译(5-2)
  7. mybaitis快速生成_Mybatis中使用mybatis-generator结合Ant脚本快速自动生成Model、Mapper等文件...
  8. jpsnamenode和不显示_hadoop启动后jps查不到namenode的解决办法
  9. arm 添加 samb 文件共享
  10. 音视频开发-websocket教程
  11. Python 学习笔记——笨方法学python3——习题41
  12. Asterisk 对VoiceXML 及CSTA的支持
  13. TimeLine学习笔记
  14. VirtuoZo:航摄影像的处理及拼接
  15. 区块链具有的8种特性
  16. 【数据分析】基于新闻文本数据分析
  17. Mysql Tigger触发器创建和使用
  18. 汽车美容店会员开卡办理html,洗车店会员卡管理系统线下线上会员一体化?
  19. 童文、李烨:6G的9大挑战
  20. partitionMagic:nbsp;error27nbsp;cannotnbsp;l…

热门文章

  1. python写计时器出现问题_如何修复计时器问题
  2. ComparerT 与 IComparerT
  3. 28个Unix/Linux的命令行神器 | 酷壳 - CoolShell.cn
  4. 网站测试之死链接测试
  5. OpenGL是什么?
  6. conda activate激活环境出错的解决办法
  7. 淡黄的炼丹炉(篇一):DELL R720深度学习Server上手熟悉
  8. 【智力题 01】猜凶手
  9. 杂项-IM:IM(即时通讯),一种基于互联网的即时交流消息的业务
  10. 不小心格式化内存卡之后怎么找回丢失数据?