文档章节

Objective-C相关Category的收集

SunGiantor
 SunGiantor
发布于 2015/06/25 10:34
字数 2011
阅读 77
收藏 3
点赞 0
评论 0

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
粉丝 14
博文 78
码字总数 20782
作品 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
Monkey for GitHub 0.9.1 发布,GitHub 排名 App

Monkey for GitHub 0.9.1 发布,这是第二个版本更新,这次主要增加了登录GitHub的功能,随手follow和star,并且增加发现模块,包括GitHub的trending,动态,showcases等。 Monkey 是一个 Gi...

flyicarus
2015/08/28
3.3K
5
iOS轻量级快速开发框架--YUKit

YUKit YUKit for iOS 针对常用开发框架的一些类别和扩展,方便快速开发 本库采用ARC YUKit.h 设备信息 APP信息 通用模板 foundation category (Objective-C 之 Foundation框架的类别) lib (...

BruceYu的博客
2016/04/19
1K
0
Associated Objects

Written by Mattt Thompson on Feb 10th, 2014 #import <objc/runtime.h> Objective-C developers are conditioned to be wary of whatever follows this ominous incantation. And for good......

whj
2014/03/09
0
0
Objective-C语法入门

Objective-C是Mac软件开发领域最主要的开发语言。假如我们对面向对象的思维已经C语言都很熟悉的话,对于我们学习Objective-C将会非常有用。假如我们对C语言还不熟悉的话,那我们需要学习一下...

青云_K
2013/02/04
0
0
iOS扩展机制category与associative

category与associative作为objective-c的扩展机制的两个特性,category即类型,可以通过它来扩展方法;associative,可以通过它来扩展属性;在iOS开发中,可能category比较常见,相对的assoc...

Megan_zhou
2013/12/03
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

protobuf学习笔记

相关文档 Protocol buffers(protobuf)入门简介及性能分析 Protobuf学习 - 入门

OSC_fly
昨天
0
0
Mybaties入门介绍

Mybaties和Hibernate是我们在Java开发中应用的比较多的两个ORM框架。当然,目前Mybaties正在慢慢取代Hibernate,这是因为相比较Hibernate而言Mybaties性能更好,响应更快,更加灵活。我们在开...

王子城
昨天
0
0
编程学习笔记之python深入之装饰器案例及说明文档[图]

编程学习笔记之python深入之装饰器案例及说明文档[图] 装饰器即在不对一个函数体进行任何修改,以及不改变整体的原本意思的情况下,增加函数功能的新函数,因为这个新函数对旧函数进行了装饰...

原创小博客
昨天
0
0
流利阅读笔记33-20180722待学习

黑暗中的生物:利用奇技淫巧快活生存 Daniel 2018-07-22 1.今日导读 如果让你在伸手不见五指的黑暗当中生存,你能熬过几天呢?而大千世界,无奇不有。在很多你不知道的角落,有些生物在完全黑...

aibinxiao
昨天
2
0
Hystrix降级逻辑中如何获取触发的异常

通过之前Spring Cloud系列教程中的《Spring Cloud构建微服务架构:服务容错保护(Hystrix服务降级)》一文,我们已经知道如何通过Hystrix来保护自己的服务不被外部依赖方拖垮的情况。但是实际...

程序猿DD
昨天
0
0
gin endless 热重启

r := gin.New()r.GET("/", func(c *gin.Context) {c.String(200, config.Config.Server.AppId)})s := endless.NewServer(":8080", r)s.BeforeBegin = func(add string) ......

李琼涛
昨天
0
0
JAVA模式之代理模式

平时一直在用spring,spring中最大的特效IOC和AOP,其中AOP使用的就是代理模式.闲着无聊,随手写了一个代理模式,也记录下代理模式的实现Demo. 比如现在有一个场景是:客户想要增加一个新的功能,...

勤奋的蚂蚁
昨天
0
0
ES15-JAVA API 索引管理

1.创建连接 创建连接demo package com.sean.esapi.client;import java.net.InetSocketAddress;import org.elasticsearch.action.get.GetResponse;import org.elasticsearch.clien......

贾峰uk
昨天
0
0
单点登录的设计,从单域名到多域名(经验分享)

个人实践总结,最初的的需求,多个产品线都在同一个根域名下面。 独立的用户中心分离,单独负责用户登录和用户信息获取、变更等处理逻辑。 第一步,用户登录成功,分配给用户一个memToken(令...

小海bug
昨天
0
0
合格前端第十二弹-TypeScript + 大型项目实战

写在前面 TypeScript 已经出来很久了,很多大公司很多大项目也都在使用它进行开发。上个月,我这边也正式跟进一个对集团的大型运维类项目。 项目要做的事情大致分为以下几个大模块 一站式管理...

qiangdada
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部