All Projects → mancongiOS → MCPageViewController

mancongiOS / MCPageViewController

Licence: MIT License
切换滚动视图,MCPageViewController, UIPageViewController

Programming Languages

swift
15916 projects
ruby
36898 projects - #4 most used programming language

Projects that are alternatives of or similar to MCPageViewController

Attachment-Handler-Swift
Access Camera, Photo Library, Video and File from User device using Swift 4
Stars: ✭ 20 (-47.37%)
Mutual labels:  ios-app
been-pwned
App that leverages the haveibeenpwned.com API by Troy Hunt. This app is available in the App Stores and is used in several of my talks as well as my book Xamarin.Forms Essentials.
Stars: ✭ 19 (-50%)
Mutual labels:  ios-app
react-native-tap-tile-game
An awesome TapTile Game built usign create-react-native-app
Stars: ✭ 44 (+15.79%)
Mutual labels:  ios-app
RDPopup
A simple way to add custom Popup. Design on Nib and use as you want. Written in Objective-C.
Stars: ✭ 19 (-50%)
Mutual labels:  ios-app
lndr-mobile
LNDR mobile app in React Native
Stars: ✭ 14 (-63.16%)
Mutual labels:  ios-app
ScrollAnimationShowcase
[ING] - UIScrollViewやUICollectionViewの特性を活用した表現サンプル
Stars: ✭ 15 (-60.53%)
Mutual labels:  uipageviewcontroller
TemporaryContacts
Android/iOS mobile application for adding contacts that are automatically deleted after a set or default interval and are synced with main address book
Stars: ✭ 15 (-60.53%)
Mutual labels:  ios-app
DailyNews
Daily News is a news app with good looking user interface ! Apps architecture is MVVM and used RxSwift for binding.
Stars: ✭ 31 (-18.42%)
Mutual labels:  ios-app
Actions
⚙️ Supercharge your shortcuts
Stars: ✭ 640 (+1584.21%)
Mutual labels:  ios-app
awesome-ios-developer
List of awesome iOS & Swift stuff!!
Stars: ✭ 586 (+1442.11%)
Mutual labels:  ios-app
nthkey-ios
Your iOs device in a Bitcoin multi-sig
Stars: ✭ 15 (-60.53%)
Mutual labels:  ios-app
Pomosh-iOS-watchOS
🍅Pomosh is your next awesome Pomodoro Technique assistant on 📱iOS and ⌚️ WatchOS 🙌. It's native and lightweight. Uses SwiftUI. has a nice tomato icon and also ready for macOS too🔥
Stars: ✭ 50 (+31.58%)
Mutual labels:  ios-app
birthday-keeper
一个生日管理APP, UI风格模仿的系统闹钟, 可以添加, 编辑, 删除生日以及本地推送提醒, 项目截图见README.
Stars: ✭ 27 (-28.95%)
Mutual labels:  ios-app
AllYourMemoriesAreBelong2iOS
💪 Simulate iOS on-device memory warnings like a hero.
Stars: ✭ 17 (-55.26%)
Mutual labels:  ios-app
flutteranimations
Flutter login and signup screen with animations.
Stars: ✭ 34 (-10.53%)
Mutual labels:  ios-app
Animated-Tesla-Car-App-using-Flutter
No description or website provided.
Stars: ✭ 141 (+271.05%)
Mutual labels:  ios-app
TVToday
iOS TV Shows app with TMDb Api. RxSwift, MVVM, Clean Architecture. Tuist + Swift Package Manager
Stars: ✭ 27 (-28.95%)
Mutual labels:  ios-app
Habit-Calendar
A simple habit tracking iOS app
Stars: ✭ 33 (-13.16%)
Mutual labels:  ios-app
puffery
A SwiftUI iOS App and Vapor Server to send push notifications fueled by Siri Shortcuts.
Stars: ✭ 17 (-55.26%)
Mutual labels:  ios-app
flutter-Anniversary
一款界面优美,功能简洁的纪念日APP
Stars: ✭ 57 (+50%)
Mutual labels:  ios-app

MCPageViewController

Version

功能说明

  • 快速构建多页面控制器
  • 分类栏和内容视图完全解耦
  • 支持分类栏的自定义
  • 支持分类栏添加在导航栏上
  • 支持分类栏滑动悬停

功能示例

示例1

示例2

示例3

示例gif

如何使用?

pod 'MCPageViewController'

代码说明

1.创建分类栏和内容栏
    /// 分类条
    lazy var categoryBar: MCCategoryBar = {
        let view = MCCategoryBar()
        view.delegate = self
        return view
    }()
    
    /// 内容容器
    lazy var containerView: MCContainerView = {
        let view = MCContainerView()
        view.delegate = self
        return view
    }()
2. 配置属性
    func loadPageViewController() {
        
        let config = MCPageConfig()
        
        config.viewControllers = vcArray
        config.categoryModels = modelArray
        config.defaultIndex = 0
        config.category.maxTitleCount = 10
        
        
        categoryBar.initCategoryBarWithConfig(config)
        containerView.initContainerViewWithConfig(config)
    }

loadPageViewController方法一定要在约束布局之前执行

3.设置约束
    override func initUI() {

        view.addSubview(categoryBar)
        categoryBar.snp.remakeConstraints { (make) ->Void in
            make.left.right.top.equalTo(view)
            make.height.equalTo(40)
        }
        
        view.addSubview(containerView)
        containerView.snp.remakeConstraints { (make) ->Void in
            make.left.right.bottom.equalTo(view)
            make.top.equalTo(categoryBar.snp.bottom)
        }
    }

4.实现分类栏和内容栏的协议
extension MCBasicUseViewController: MCCategoryBarDelegate {
    func categoryBar(categoryBar: MCCategoryBar, didSelectItemAt index: Int) {
        containerView.containerViewScrollToSubViewController(subIndex: index)
    }
}

extension MCBasicUseViewController: MCContainerViewDelegate {
    func containerView(_ containerView: MCContainerView, didScrollToIndex index: Int) {
        categoryBar.categoryBarDidClickItem(at: index)
    }
}

更多的详细使用方案请下载demo示例功能。

联系Author

QQ群: 316879774

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].