Swift实现类网易云音乐横向scroll menu切换菜单(一)

效果图如下:
Swift实现类网易云音乐横向scroll menu切换菜单(一)_第1张图片
源代码: https://github.com/uacaps/PageMenu ,上图为其中的Demo 5。

本文准备从头开始分析该菜单控件的实现过程,也作为个人的学习笔记。

首先,位于ViewController.swift中viewDidLoad函数中的

  self . title = "PAGE MENU"
  self . navigationController ?. navigationBar . titleTextAttributes = [ NSForegroundColorAttributeName : UIColor . whiteColor ()]
 self.navigationController?.navigationBar.tintColor = UIColor.whiteColor()//这句并没有什么作用

用于配置基础页面的标题内容字体,如上图所示。

  var controllerArray : [ UIViewController ] = []

配置用于展示的viewcontroller,如上图中的Favorites Recents Friends Others。

源代码中使用
init (nibName nibNameOrNil: String ?, bundle nibBundleOrNil: NSBundle ?)
对展示的tableview进行初始化。

个人更倾向于配置好storyboardID后采用UIStoryBoard的
func instantiateViewControllerWithIdentifier(identifier: String ) -> UIViewController
对viewcontroller进行配置。


  // Initialize scroll menu
  pageMenu = CAPSPageMenu (viewControllers: controllerArray, frame: CGRectMake ( 0.0 , 0.0 , self . view . frame . width , self . view . frame . height ), pageMenuOptions: parameters)
       
  // Optional delegate
   pageMenu !. delegate = self
       
  self.view.addSubview(pageMenu!.view)

之后将配置好的controllerArray送入项目的核心类CAPSPageMenu中,生成pageMenu,使当前viewController接收pageMenu的代理并最后将其添加到当前View中。

下一篇将分析核心类CAPSPageMenu的具体实现。

你可能感兴趣的:(swift,ios开发,菜单,menu)