MLBNavigation 0.1.6

MLBNavigation 0.1.6

longmaboy维护。



MLBNavigation

Version License Platform

为什么要做这个?
平时使用原生导航栏,处理返回手势的时候,自己做不到像QQ那样处理的很完美,虽然有很多大大写的有不错的框架,个人感觉有些框架太繁重,并且还是不能满足一些要求,所以做这个,很简单,需要的参考,大神绕道。

示例

Image text

安装

下载demo,将MLBNavigation拖到您的项目中,或者使用CocoaPods安装。
找不到,先运行pod setup更新

pod 'MLBNavigation'

使用方法

支持Storyboard和纯代码使用
创建UIViewController时,直接继承MLBBaseController.h即可,详情参考demo
最好是创建一个继承自MLBBaseController的BaseController,并且BaseController可以做到您想要的任何事情
如果您的导航栏很复杂,那么直接隐藏导航栏,自己做导航栏就好。

需要做一些基本配置,不配置就使用默认设置
在AppDelegate.h中导入#import "MLBNavigation.h"来设置初始化配置

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

    MLBConfig *config = [[MLBConfig alloc] init];

    config.leftItemImg = @"MBack";
    config.titleFontSize = [UIFont systemFontOfSize:18];
    config.itemLeftSpace = 10;
    config.itemRightSpace = 20;

    [MLBConfigSingle single].config = config;

    return YES;
}

MLBConfig.h预览

@interface MLBConfig : NSObject

//左边返回item字体大小
@property (nonatomic, strong) UIFont *leftFontSize;

//控制器标题字体大小
@property (nonatomic, strong) UIFont *titleFontSize;

//右边item字体大小
@property (nonatomic, strong) UIFont *rightFontSize;

@property (nonatomic,   copy) NSString *leftItemImg;

@property (nonatomic, assign) CGFloat itemLeftSpace;

//最右边item右边距离
@property (nonatomic, assign) CGFloat itemRightSpace;

@property (nonatomic, strong) UIColor *naviBgColor;

@property (nonatomic,   copy) NSString *naviBgImg;

@property (nonatomic, assign) BOOL lineHidden;

@end

注意事项

由于隐藏了原生导航栏,所以原生导航栏上的功能将不能使用,需要自己实现
1、prefersLargeTitles大标题功能无法使用
2、UISearchController无法在导航栏上使用

作者

使用过程中有任何问题,请向我提交问题或发送邮件
[email protected]

许可证

MLBNavigation在MIT许可证下可用。更多信息请参阅LICENSE文件。