All Projects → iTofu → Lctabbarcontroller

iTofu / Lctabbarcontroller

Licence: mit
A amazing and highly customized tabBarController! You could almost customize 100% properties with LCTabBarController!

Projects that are alternatives of or similar to Lctabbarcontroller

Swipeabletabbarcontroller
UITabBarController with swipe interaction between its tabs.
Stars: ✭ 919 (+139.32%)
Mutual labels:  cocoapods, tabbar
Foldingtabbar.ios
Folding Tab Bar and Tab Bar Controller
Stars: ✭ 3,677 (+857.55%)
Mutual labels:  cocoapods, tabbar
Expandedtabbar
ExpandedTabBar is a very creative designed solution for "more" items in UITabBarController. It's greate experience to have more comfortable and intuitive UI.
Stars: ✭ 219 (-42.97%)
Mutual labels:  cocoapods, tabbar
Cyltabbarcontroller
[EN]It is an iOS UI module library for adding animation to iOS tabbar items and icons with Lottie, and adding a bigger center UITabBar Item. [CN]【中国特色 TabBar】一行代码实现 Lottie 动画TabBar,支持中间带+号的TabBar样式,自带红点角标,支持动态刷新。【iOS13 & Dark Mode & iPhone XS MAX supported】
Stars: ✭ 6,605 (+1620.05%)
Mutual labels:  cocoapods, tabbar
Poliopager
A flexible TabBarController with search tab like SNKRS.
Stars: ✭ 133 (-65.36%)
Mutual labels:  cocoapods, tabbar
Bekcurvetabbar
Full Customizable Tabbar with IBInspectables
Stars: ✭ 144 (-62.5%)
Mutual labels:  cocoapods, tabbar
Vbrrollingpit
Simple, beautiful and interactive UITabBar
Stars: ✭ 252 (-34.37%)
Mutual labels:  cocoapods, tabbar
Swiftymenu
Simple and Elegant Drop down menu for iOS 🔥💥
Stars: ✭ 356 (-7.29%)
Mutual labels:  cocoapods
Zdstickerview
ZDStickerView is an Objective-C module for iOS and offers complete configurability, including movement, resizing, rotation and more, with one finger.
Stars: ✭ 368 (-4.17%)
Mutual labels:  cocoapods
Observable
The easiest way to observe values in Swift.
Stars: ✭ 346 (-9.9%)
Mutual labels:  cocoapods
Pagecontroller
Infinite paging controller, scrolling through contents and title bar scrolls with a delay
Stars: ✭ 344 (-10.42%)
Mutual labels:  cocoapods
Mfcard
Easily integrate Credit Card payments module in iOS App. Swift 4.0
Stars: ✭ 356 (-7.29%)
Mutual labels:  cocoapods
Xcglogger
A debug log framework for use in Swift projects. Allows you to log details to the console (and optionally a file), just like you would have with NSLog() or print(), but with additional information, such as the date, function name, filename and line number.
Stars: ✭ 3,710 (+866.15%)
Mutual labels:  cocoapods
Pushnotificationmanager
Convenient and comprehensive api for push notification,provide 6 stems and 20 branchs' function,offer examples written by Objective-C and Swift respectively
Stars: ✭ 354 (-7.81%)
Mutual labels:  cocoapods
Vgplayer
📺 A simple iOS video player by Vein.
Stars: ✭ 383 (-0.26%)
Mutual labels:  cocoapods
Quickblox Ios Sdk
QuickBlox iOS SDK for messaging and video calling
Stars: ✭ 373 (-2.86%)
Mutual labels:  cocoapods
Gcdobjc
Objective-C wrapper for Grand Central Dispatch
Stars: ✭ 358 (-6.77%)
Mutual labels:  cocoapods
Ehhorizontalselectionview
Horizontal table view style controller
Stars: ✭ 346 (-9.9%)
Mutual labels:  cocoapods
Mevhorizontalcontacts
An iOS UICollectionViewLayout subclass to show a list of contacts with configurable expandable items.
Stars: ✭ 358 (-6.77%)
Mutual labels:  cocoapods
Topasscodeviewcontroller
A modal passcode input and validation view controller for iOS
Stars: ✭ 373 (-2.86%)
Mutual labels:  cocoapods

LCTabBarController

Travis CocoaPods CocoaPods CocoaPods LeoDev Join the chat at https://gitter.im/iTofu/LCTabBarController

⚠️ Due to busy work, this library WON'T BE SUPPORTED for the moment, please carefully integrate the library.

A amazing and highly customized tabBarController! You could almost customize 100% properties with LCTabBarController! 😍 ✨

by http://LeoDev.me

In me the tiger sniffs the rose.

心有猛虎,细嗅蔷薇。

Welcome to my blog: http://LeoDev.me

中文介绍

Feature

  • Highly decoupled!

    Each control is a independent class! --> means "be possessed":

    LCTabBarBadge --> LCTabBarItem --> LCTabBar --> LCTabBarController

  • Simple integration!

    Integration takes only one step: Just replace the UITabBarController word in your AppDelegate.m with LCTabBarController to complete the integration!

  • Non-Pollution!

    LCTabBarController has all the functions of UITabBarController, and NO any intrusion behavior!

    So, even if your project is complete, you could integrated at any time! You could also change back to UITabBarController! (But I 200% believe you won't do it!)

  • Highly customized!

    You can freely set the following properties, you can also choose to modify the code directly!

    1. tabBar title color

    2. tabbar title font

    3. tabbar image ratio

    4. tabbar badge frame

    5. tabbar badge font

    6. ...

  • If you feel good, please give me a star, thank you very much! ⭐️

    I will keep update with new Issue, if you want to know my progress at any time, please click on the watch button in the upper right corner!

⚠️ NOTE: It doesn't support Storyboard for the time being!

Installation

CocoaPods

LCTabBarController is available on CocoaPods. Just add the following to your project Podfile:

pod 'LCTabBarController' # Podfile

Non-CocoaPods Installation

Just drag the LCTabBarController folder into your project.

Usage

  • Inside your AppDelegate.m:

    // 0. Import header file
    #import "LCTabBarController.h"
    
    // 1. If you have already started the project, even if it's already done.
    UITabBarController *tabBarC = [[UITabBarController alloc] init];
    ->
    LCTabBarController *tabBarC = [[LCTabBarController alloc] init];
    
    // 2. If you're just starting to write a new project
    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    
        self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
    
        [self.window makeKeyAndVisible];
    
        // Other code
        HomeVC *vc1 = [[HomeVC alloc] init];
        vc1.view.backgroundColor = [UIColor whiteColor];
        vc1.tabBarItem.badgeValue = @"23";
        vc1.title = @"Home";
        vc1.tabBarItem.image = [UIImage imageNamed:@"tabbar_home"];
        vc1.tabBarItem.selectedImage = [UIImage imageNamed:@"tabbar_home_selected"];
    
        // vc2 vc3 ...
    
        UIViewController *vc4 = [[UIViewController alloc] init];
        vc4.view.backgroundColor = [UIColor yellowColor];
        vc4.tabBarItem.badgeValue = @"99+";
        vc4.title = @"Profile";
        vc4.tabBarItem.image = [UIImage imageNamed:@"tabbar_profile"];
        vc4.tabBarItem.selectedImage = [UIImage imageNamed:@"tabbar_profile_selected"];
    
    
        UINavigationController *navC1 = [[UINavigationController alloc] initWithRootViewController:vc1];
        UINavigationController *navC2 = [[UINavigationController alloc] initWithRootViewController:vc2];
        UINavigationController *navC3 = [[UINavigationController alloc] initWithRootViewController:vc3];
        UINavigationController *navC4 = [[UINavigationController alloc] initWithRootViewController:vc4];
    
    
    
        /**************************************** Key Code ****************************************/
    
        LCTabBarController *tabBarC = [[LCTabBarController alloc] init];
    
        tabBarC.viewControllers = @[navC1, navC2, navC3, navC4];
    
        self.window.rootViewController = tabBarC;
    
        /******************************************************************************************/
    
    
    
        return YES;
    }
    
  • Done!

  • You can change the following properties with LCTabBarController object, other more attributes can be directly read code changes!

    /**************************************** Key Code ****************************************/
    
    LCTabBarController *tabBarC    = [[LCTabBarController alloc] init];
    
    // look here, you should set this properties before `- setViewControllers:`
    tabBarC.itemTitleFont          = [UIFont boldSystemFontOfSize:11.0f];
    tabBarC.itemTitleColor         = [UIColor greenColor];
    tabBarC.selectedItemTitleColor = [UIColor redColor];
    tabBarC.itemImageRatio         = 0.5f;
    tabBarC.badgeTitleFont         = [UIFont boldSystemFontOfSize:12.0f];
    
    tabBarC.viewControllers        = @[navC1, navC2, navC3, navC4];
    
    self.window.rootViewController = tabBarC;
    
    /******************************************************************************************/
    

    Than you could see like this:

    by http://LeoDev.me

Example

by http://LeoDev.me


by http://LeoDev.me


by http://LeoDev.me


by http://LeoDev.me

ChangeLog

V 1.3.7

  • Adapt for iOS 11.

  • Improve framework with #27 by tbl00c.

V 1.3.6

  • About #15, public lcTabBar.

V 1.3.5

V 1.3.3

  • Update CocoaPods source URL.

V 1.3.0

  • Bug fixed: Can't find right bundle when using Swift & CocoaPods.

  • building support.

V 1.2.7

  • Bug fixed: #3, thanks for Sesadev's commit!

V 1.2.6

  • Bug fixed:

    When I call the popToRootViewController; method, the origin controls of the system's tabBar is displayed again.

    Now, You should call [lcTabBarController removeOriginControls]; method after popToRootViewController;, like this:

    [self.navigationController popToRootViewControllerAnimated:YES];
    
    [lcTabBarController removeOriginControls];
    

V 1.2.5

  • Change custom way, experience better!

V 1.2.2

  • Change imageView's contentModel:

    tabBarItem.imageView.contentModel == UIViewContentModeScaleAspectFit;
    
    -->
    
    tabBarItem.imageView.contentModel == UIViewContentModeCenter;
    

V 1.2.1

  • Fix frame: tabBarBadge's x.

V 1.2.0

  • for you!

V 1.1.0

  • for LanMeng Tec.

  • V 1.1.x will for LanMeng Tec. only.

V 1.0.6

  • for LanMeng Tec.

V 1.0.5

  • Change something:

    tabBarItem.imageView.contentModel == UIViewContentModeCenter;
    
    -->
    
    tabBarItem.imageView.contentModel == UIViewContentModeScaleAspectFit;
    

V 1.0.3

  • Delete some logs.

  • Update demo images.

V 1.0.2

  • UI adjustment.

V 1.0.1

  • Bug fixed.

V 1.0.0

Support

  • If you have any question, just commit a issue.

  • Mail: echo bGVvZGF4aWFAZ21haWwuY29tCg== | base64 -D

  • Blog: https://LeoDev.me

  • Donations:

    • PayPal:

      Donate

    • Alipay or Wechat Pay:

      Donate with Alipay or Wechat Pay

    Please note: donation does not imply any type of service contract.

License

LCTabBarController is released under the MIT License.

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].