文档章节

Objective-C相关Category的收集

SunGiantor
 SunGiantor
发布于 2015/06/25 10:34
字数 2011
阅读 85
收藏 3

Categories是给你得不到源码的classes增加功能的一种方法。这个页面收集一些相关的Category,并且持续更新,你可以订阅关注。作者是Fille ?str?m,是@ IMGNRY的联合创始人和开发者。

感谢大家的反馈,如果你有任何想法、抱怨或者建议,可以给我发送邮件(fille@imgnry.com),也可以在 推特或者App.net上给我发信息(@bobmoff)。

参考阅读:

苹果官方文档:Customizing Existing Classes

UINavigationBar+CustomHeight 

在iOS 7和iOS 8上自定义UINavigationBar高度。

UIView+Debug  

通过为UIView加上红色的边框来更方便地进行调试,你也可以尝试代码注释。

UIStatusBar+Chameleon  

Chameleon是一个轻量级但很强大的iOS "flat colors"框架,它的构建理念是,软件应该轻松高效地运行并且还能维持其漂亮的外观。通过Chameleon,你可以忘记UIColor RGB值,不用为究竟应该在应用中使用什么颜色组合而费尽心力,也无需担心各种颜色的背景下应用中文本的易读性。

Chameleon是100%的绚丽的扁平化色彩,提供了三个不同种类的扁平化色彩主题,这些主题可以从扁平化色彩和非扁平化色彩中获得。

Chameleon中还添加了新功能--Flatify,仅需一行代码即可将屏幕上每个单色转换成跟它们本身最接近的扁平化色彩,并且适用于storyboard对象和程序创建的对象。另外,也可简单通过一行代码将颜色设置为渐变色,不管是背景颜色还是文本颜色。

UIStatusBar+Chameleon 2.png

UIStatusBar+Chameleon.png

UIStatusBar+Chameleon1.gif


SKProduct+LocalizedPrice 

返回IAP本地化货币和价格。

UILabel+Attributed 

attributedLabel使用Core Text框架来设置行距和添加细节。

UIInterpolatingMotionEffect+NaturalMotion  

一行代码实现简单的UIInterpolatingMotionEffect,看起来像是漂浮在视图上方或者下面,不支持Swift。详细请参看:http://hack.swic.name/easy-uiinterpolatingmotioneffect

UIView+EasingFunctions 

UIView-EasingFunctions是UIView的一个类别,可在可动画的UIView属性上添加缓动函数。

测试环境:Xcode 5.0,iOS 6.0以上

Untitled855.gif

UIView+Lyt

Lyt是一个UIView和NSView类别,可提高autolayout的可读性。适用于iOS和OS X,用更少的代码表达更好的语义,支持代码补全和动态布局。

NSTimer+Extension

该项目是NSTimer的扩展,支持block,并且有暂停和恢复的功能。 

NSObject+Associated

为类别添加属性和实例变量的简单方法。

UIView+AutoLayout  

UIView-AutoLayout是一个简单但强大的基本API,包含UIView、NSArray以及NSLayoutConstraint的一些类别。UIView-AutoLayout有着开发者友好型的界面,简单明了,借鉴了IB的Auto Layout UI选项,但更为灵活。

NSObject+DProperty 

在Objective-C category中添加属性。

UIViewController+MaryPopin

MaryPopin是一个UIViewController类别,可展示更具灵活性的模态视图。虽然网络上有很多类似项目,但MaryPopin有着自己的特性:

MaryPopin.gif

NSLayoutConstraint+TATLayoutFactory  

TATLayout可降低大量编写布局约束的代码,并使代码易于阅读、维护以及动态调整。

UIImageView+FaceAwareFill

这个类别使用了Aspect Fill内容模式,可以自动根据图像内容进行调整,当检测到人脸时,它会以脸部中心替代掉以图片的几何中心。

测试环境:Xcode 5.0,iOS 6.0以上

NSRegularEx+ObjCRegex  

Objective-C-RegEx-Categories是NSRegularExpression的一个延展,它可以把Object-C中的很多正则表达式合并成一个,简化了代码。

这个库没有任何依赖性,适用于iOS 4+和OS X 10.7+。

NSObject+AutoCoding  

AutoCoding是一个NSObject的类目,提供了对NSCoding 和NSCopying的自动支持。

兼容ARC和non-ARC编译目标

支持iOS 7.0/Mac OS 10.9 (Xcode 5.0, Apple LLVM compiler 5.0)

NSInvocation+SimpleCreation  

创建invocations的简单方法

NSString+SHPersian  

SHPersian是一个针对使用波斯语和阿拉伯语的iOS开发者提供的工具,包含了一个在Persian iOS app中为文本添加自定义外观的必需的类。

UILabel+ContentSize  

在UILabel内计算内容的大小。

UIViewController+Swizzled      

记录UIViewController层次:包括你在视图控制器的名字,还有你进入层次的展示。

NSObject+Association    

你是不是一直希望将"userInfo"显示到UIAlertView上呢?通过Association这个category可以将任意的对象赋值给其它任意对象(从iOS3.1和mac os 10.6到最新的系统版本。)

 

 

NSHTTPCookieStorage+FreezeDry  

app重启时,清除UIWebView cookies。

UIDevice+Hardware  

检测硬件设备的版本。

NSObject+LogDealloc   

是一个NSObject category,对于内存泄露的跟踪非常有用

NSObject+SFObservers  

是对NSNotificationCenter and KVO的一个扩展,它能够自动移除观察者。

UIApplication+NetworkActivity  

UIApplication+NetworkActivity跟踪你最近进行过的网络操作,并管理NetworkActivityIndicator。

UIView+Recursion

以递归的方式遍历(查找)subview

UIView+RoundedCorners  

使用图层蒙版为视图添加圆角

UIView+Stacker  

Stack subviews是按照索引进行垂直排序的。主要用于——使用xib时,以及需要进行view布局时(显示/隐藏)——当基于外部数据。不过不能用于autolayout。.

NSString+PDRegex   

简化正则表达式的使用

MKMapView+MoveLogo   

这个类目允许你移动MKMapView logo,即使你放其他东西在mapview上它仍能保持可见。如果隐藏了logo,那将不能通过App Store审核。已经在iOS 5-iOS 7上进行了测试。

NSDate+Escort  

NSDate-Escort是一个NSDate实用库,兼容NSDate-Extensions API

UILabel+DynamicSizeMe  

调整UILabel来根据内容改变其框架

UIView+Toast  

适用于iOS上的Android风格toas通知。

UIImage+NYXImagesKit  

NYXImagesKit是一个重组了多个有用的UIImage categories的iOS项目,可对图像/图片进行多个处理,比如筛选、模糊、优化、蒙版、调整大小、旋转以及保存等等。同时还提供了一个UIImageView子类从URL异步加载图片,并在下载完毕时展示图片。

UIViewController+MJPopup  

MJPopupViewController是一个 UIViewController Category,用于使用不同的过渡效果来把ViewController作为弹出视图进行展示。

UIImage+MGImageUtilities  

MGImageUtilities展示两个UIImage category:UIImage+ProportionalFill和UIImage+Tint。你可以通过UIImage+ProportionalFill调整任意图片的尺寸,可以使用UIImage+Tint来为图片着色。

MultipleObjects+DTFoundation 

DTFoundation集合了实用方法和category的扩展,逐渐演变成一个文档齐全的工具集,记录和测试代码以加快开发。

UIImageView+WebCache  

SDWebImage提供一个UIImageView类别,以支持加载管理源自网络的远程图片。具有异步加载、缓存管理、同一个URL下载次数控制和优化等特征。简单易用。

UIColor+Colours  

100组漂亮的预制的色彩和配色方案可以让你的iOS/OS X开发更轻松。

UIImage+PDFColoredImage  

UIImage-PDFColoredImage是一个UIImage扩展,可以把黑色的PDF image转换成任意尺寸任意颜色的UIImage,只需一行代码,简单易用。

NSData+AsyncCacher  

NSData-AsyncCacher是NSData的一个category,用于从url和block中异步加载数据。请求数据使用NSCache缓存,可以多次请求。

NSDate+Helper  

通过一些便捷函数扩展了Cocoa的NSDate

MultipleObjects+ObjectiveSugar  

Objective-C additions for humans. Ruby style.

 

MKMapView+ZoomLevel 

在MapView中设置缩放比例。

NSString+Extensions  

一个针对NSStrings的category,它能将string转换为SHA1,NSNumber。检测string是否为空、是否包含某个子字符串,以及替换掉NSDictionary中的子字符串。

UIView+Utils  

ViewUtils是一个category methods的集合,这些方法是UIView的扩展,包含了许多方便的属性和方法,其中许多都是我们希望苹果内置的。

NSDate+TimeAgo   

让NSDate报告时间,比如"A moment ago", "30 seconds ago", "5 minutes ago", "Yesterday", "Last month", "2 years ago"以及其他。

NSString+FontAwesome  

FontAwesome+iOS是一个开源形象字体库,通过扩展 NSString 让你在app中轻松使用 FontAwesome 字体。

官方网站:http://fortawesome.github.io/Font-Awesome/

NSArray+FirstObject 

从数组中获得第一个对象,或者从空数组中返回零

NSObject+AutoDescription  

能够简单地为任何类描述日志(从 NSObject派生出来)

CGRect+Additions  

处理CGRects的一些函数。

UIView+ModifyFrame  

简单实用的UIView类目使修改框架不那么变态。

NSString+UsefulShit  

Objective-C category 示范

本文转载自:http://www.cocoachina.com/ios/20140926/9764.html

共有 人打赏支持
SunGiantor
粉丝 15
博文 83
码字总数 23611
作品 0
长宁
高级程序员
私信 提问
iOS技术面试题

收集了一些iOS技术面试题,试试你能通过吗? iOS知识问题: Difference between shallow copy and deep copy? What is advantage of categories? What is difference between implementing ......

长平狐
2012/08/13
1K
0
从C#到Objective-C,循序渐进学习苹果开发(3)--分类(category)和协议Protocal的理解

本随笔系列主要介绍从一个Windows平台从事C#开发到Mac平台苹果开发的一系列感想和体验历程,本系列文章是在起步阶段逐步积累的,希望带给大家更好,更真实的转换历程体验。本文继续上一篇随笔...

walb呀
2017/12/04
0
0
iOS OC中分类Category实现原理

//联系人:石虎 QQ:1224614774 昵称:嗡嘛呢叭咪哄 一、概念 1.前言 category是Objective-C 2.0之后添加的语言特性, category的主要作用是为已经存在的类添加方法。 2.设计思想 Objective-C ...

石虎132
01/31
0
0
iOS的Target-Action模式传值的最佳方式

原文出处: talisk斯温的技术博客(@swaIn ) 在iOS中,所有的UIControl标准控件使用到最普遍最传统的执行方法的方式就是Target-Action,中文一般称作目标-动作,是比较常用的一种设计模式。...

刘星石
2016/04/14
214
0
Objective-C 学习笔记

1、 凡使用到@的地方,都是对标准C的扩展 2、 Objective-C的头文件包含与C++差不多,但可以通过@class实现跨文件依赖 Objective-C 是对C 的扩展,其扩展关键字列表如下 @class, @interface, ...

长平狐
2012/11/01
64
0

没有更多内容

加载失败,请刷新页面

加载更多

docker部署springboot项目

安装docker 菜鸟教程 springboot项目 maven依赖 <?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001......

yimingkeji
今天
10
0
ios多个target

1.建立3个target,分别为heroone,heroone test,heroone dev;分别为正式环境,test环境,dev环境 2.注意取消掉autocreate以防止名字不对,分别以Duplicate的方式建立另外两个scheme 3.创建...

HeroHY
今天
6
0
php获取客户端IP

php获取客户端IP 首先先阅读关于IP真实性安全的文章:如何正確的取得使用者 IP? 「任何從客戶端取得的資料都是不可信任的!」 HTTP_CLIENT_IP头是有的,但未成标准,不一定服务器都实现。 ...

DrChenXX
昨天
0
0
. The valid characters are defined in RFC 7230 and RFC 问题

通过这里的回答,我们可以知道: Tomcat在 7.0.73, 8.0.39, 8.5.7 版本后,添加了对于http头的验证。 具体来说,就是添加了些规则去限制HTTP头的规范性 参考这里 具体来说: org.apache.tom...

west_coast
昨天
1
0
刷leetcode第704题-二分查找

今天双十一买的算法书到货了,路上刷到有人说的这个题,借(chao)鉴(xi)一下别人的思路,这个是C++标准库里面的经典方法,思路精巧,优雅好品味 int search(int* nums, int numsSize, in...

锟斤拷烫烫烫
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部