KMPageMenu 0.0.2

KMPageMenu 0.0.2

KM5558 维护。



  • hkm5558

KMPageMenu

CocoaPods

CocoaPods 安装

CocoaPods 是 Objective-C 的依赖管理器,它自动并简化了使用第三方库的过程。您可以使用以下命令来安装它

$ gem install cocoapods

Podfile

要使用 CocoaPods 将 KMPageMenu 集成到您的 Xcode 项目中,请在您的 Podfile 中指定它

在您的 Podfile 中

pod 'KMPageMenu'

然后,运行以下命令

$ pod install

需求

此库需要 iOS 8.0+

架构

  • KMPageMenu
  • KMPageMenuEnum
  • KMPagingViewController

用法

    //首先把 菜单 和 分页视图控制器 添加到视图上
    let menu = KMPageMenu(frame: CGRect(x: 0, y: 40, width: width, height: 44), titles: titles)
    m.style.titleFont = UIFont.systemFont(ofSize: 14)
    view.addSubview(menu)

    let page = KMPagingViewController(viewControllers: viewControllers)

    page.view.frame = CGRect(x: 0, y: menu.frame.maxY, width: width, height: view.frame.height - menu.frame.maxY)
    self.addChildViewController(page)
    page.didMove(toParentViewController: self)
    self.view.addSubview(page.view)

    // 菜单下标改变的回调
    menu.valueChange = { [weak self] index in
        self?.page.pagingToViewController(at: index)
    }
    
    // KMPageMenu 控件继承于 UIControl 所以也可以用监听 valueChanged 的方式
    menu.addTarget(self, action: #selector(menuValueChange(sender:)), for: .valueChanged)
    
    // 分页控制器切换完成的回调
    page.didFinishPagingCallBack = { [weak self] (currentViewController, currentIndex)in
        self?.menu.setSelectIndex(index: currentIndex, animated: true)
    }
    
    // KMPagingViewController 同时也提供了代理的回调
    // KMPagingViewControllerDelegate
    
    page.delegate = self
    
    func pagingController(_ pagingController: KMPagingViewController, didFinish currentViewController: UIViewController, currentIndex: Int) {
    
        print("selectIndex == \(currentIndex)")
        
    }

动图

作者

hkm5558, [email protected]

许可

KMPageMenu遵循MIT许可协议。更多信息请参阅LICENSE文件。