27 款 iOS 开源库,让你的开发溜到飞起http://www.tuicool.com/articles/meeIrym
iOS常用框架http://www.tuicool.com/articles/v2mmAfR
IQKeyboardManager
github托管地址https://github.com/hackiftekhar/IQKeyboardManager
浅谈IQKeyboardManagerhttp://www.jianshu.com/p/9d7d246bd350
是一个开源的三方键盘管理库。能帮你做到键盘的自动收起,遮挡输入框时能滚动VC的视图等功能,除此之外还提供了一个ToolBar,在键盘上方提供跳转输入框等方便的操作。
#import "IQKeyboardManager.h"
//常用方法
IQKeyboardManager *manager = [IQKeyboardManager sharedManager];
//控制整个功能是否启用。
manager.enable = YES;
//控制点击背景是否收起键盘
manager.shouldResignOnTouchOutside = YES;
//控制键盘上的工具条文字颜色是否用户自定义。注意这个颜色是指textfile的tintcolor。这个库还自定义了带有展位文字的textView:
//manager.shouldToolbarUsesTextFieldTintColor = YES;
//中间位置是否显示占位文字
manager.shouldShowTextFieldPlaceholder = YES;
//设置占位文字的字体
//manager.placeholderFont = [UIFont boldSystemFontOfSize:17];
//控制是否显示键盘上的工具条。
manager.enableAutoToolbar = YES;
//某个类中禁止使用工具条
[[IQKeyboardManager sharedManager]disableToolbarInViewControllerClass:[UIViewController class]];
如果你想在某个 viewcontroller 禁用 IQKeyboardManager 你应该在 ViewDidAppear 中禁用IQKeyboardManager,而在ViewWillDisappear启用它
- (void)viewWillAppear:(BOOL)animated{
[super viewWillAppear:animated];
[IQKeyboardManager sharedManager].enable = NO;
}
- (void)viewWillDisappear:(BOOL)animated{
[super viewWillDisappear:animated];
[IQKeyboardManager sharedManager].enable = YES;
}
注意:
1,如果项目里面已经集成了IQKeyboardManager第三方库,但又要集成通联支付,那么慎重!!!http://www.jianshu.com/p/b8b35073f165
2,我使用xib布局,点击textField,视图虽然上移了,但是navigationBar也跟着上移。http://www.jianshu.com/p/cf1c63cef2b4
改完别忘了设置新的outlet
在使用IQKeyboardManager时,弹出键盘时会出现导航栏向上移动的问题,解决方法:
把所有的控件放到scrollview或tableview上。
FDFullscreenPopGesture
github托管地址https://github.com/forkingdog/FDFullscreenPopGesture
一个丝滑的全屏滑动返回手势,无须再加任何代码,应用所有页面都将支持全屏侧滑
禁用FDFullscreenPopGesture
self.fd_interactivePopDisabled = true;
从用户的角度出发,我们不难发现,同属于腾讯旗下产品的QQ和微信就是这一操作采用两种截然不同实现方式的体现,前者是全屏触发的自定义右滑操作,后者是边缘触发的系统方法实现的右滑操作。
MBProgressHUD
github托管地址https://github.com/jdg/MBProgressHUD
MJRefresh
github托管地址https://github.com/CoderMJLee/MJRefresh
@property (assign, nonatomic) NSUInteger page;
//开始自动刷新
[_tableView.mj_header beginRefreshing];
__weak typeof(self)weakSelf = self;
_tableView.mj_header = [MJRefreshNormalHeader headerWithRefreshingBlock:^{
weakSelf.page = 1;
[weakSelf sendDataRequest];
}];
_tableView.mj_footer = [MJRefreshAutoNormalFooter footerWithRefreshingBlock:^{
weakSelf.page ++;
[weakSelf sendDataRequest];
}];
//结束刷新
[self.tableView.mj_footer endRefreshing];
[self.tableView.mj_header endRefreshing];
MJExtension
github托管地址https://github.com/CoderMJLee/MJExtension/
是一套字典和模型之间互相转换的超轻量级框架
字典(JSON) --> 模型(Model)
模型(Model) --> 字典(JSON)
字典数组(JSONArray) --> 模型数组(ModelArray)
模型数组(ModelArray) --> 字典数组(JSONArray)
http://www.jianshu.com/p/4782fbd029cc
http://www.jianshu.com/p/475b28160c89
MWPhotoBrowser
github托管地址https://github.com/mwaterfall/MWPhotoBrowser
图片视频查看器
iOS图片浏览器 - XLPhotoBrowser(类似微信多图片浏览效果)http://www.jianshu.com/p/7ddeb1521d44
NJKWebViewProgress
github托管地址https://github.com/ninjinkun/NJKWebViewProgress
iOS UIWebView加载时添加进度条
YYText
https://github.com/ibireme/YYKit
是一个强大的富文本库.在iOS开发中经常会用到富文本。我们常用到的效果如下图所示:
网友评论