A collection of helpful utilities and components for iOS development.
The podspec for RZUtils is fully segmented into subspecs by directory (effectively one subspec per individual category type or component). See below for examples.
pod 'RZUtils'
pod 'RZUtils/Categories'
pod 'RZUtils/Components'
pod 'RZUtils/Utilities'
pod 'RZUtils/TestUtilities'
To import only a specific category, component, or utility, the subspec should mirror the directory structure. For example:
pod 'RZUtils/Categories/NSString'
pod 'RZUtils/Categories/KVO'
pod 'RZUtils/Components/RZProgressView'
Simply copy the relevant file into your project. If the files import any frameworks, link against those frameworks.
CAAnimation+RZBlocks
Completion blocks for CAAnimation
NSObject+RZBlockKVO
KVO with blocks and automatic observer removal on dealloc
NSDate+RZExtensions
Common date manipulations
NSDictionary+RZExtensions
Convenience methods for NSDictionary
(NSNull
check, etc)
NSAttributedString+RZExtensions
Simplified attributed string initializer and other utils
NSString+RZStringFormatting
Common string formatting methods
NSString+RZStringSize
Replacement for string sizing methods deprecated in iOS 7.
NSUndoManager+RZBlockUndo
Block-based interface for undo manager.
UIAlertView+RZCompletionBlocks
Block API for UIAlertView
actions
UIColor+RZExtensions
UIColor creation utilities
UIFont+RZExtensions
Funky fresh font features
UIImage+RZAverageColor
Calculates the average color of a UIImage instance.
UIImage+RZResize
Methods for resizing an image given an aspect ratio.
UIImage+RZSnapshotHelpers
Method for snapshotting and creating a UIImage from a UIView using iOS7's drawViewHierarchyInRect
. Contains a faster version of Apple's image blur method for iOS7 (with view screenshot). iOS7+ only.
UIImage+RZSolidColor
Category on UIImage
to return a solid color image of a specified size. Especially useful to set a state-dependent background color on UIButton
, like: [aButton setBackgroundImage:[UIImage rz_solidColorImageWithSize:CGSizeMake(1.0f, 1.0f) color:[UIColor redColor]]]
.
UIImage+RZStretchHelpers
Stretch and cap inset methods for UIImage
UITableViewCell+RZCellStyling
Methods for styling top, bottom, and middle tableview cells for grouped table views
UIView+RZAutoLayoutHelpers
Common code-level autolayout tasks made easier.
UIView+RZBorders
Borders on arbitrary sides of any UIView
UIView+RZFrameUtils
Easy adjustments to UIView
frames
UIViewController+RZKeyboardWatcher
Utility for scripting animation blocks in response to keyboard appearance/disappearance notifications.
UILabel
subclass that animates its text from one value to another with an optional custom formatting block.
A set of utilities for presenting various "About" elements such as the "Built by RZ" logo and feedback.
Replacement for UIImageView
-based animated .png sequences that calls a completion block when the animation is finished. Believe it or not, there is no way to do this otherwise.
UIControl
subclass that acts like a UIButton but allows the addition and layout of arbitrary subviews.
Is it a Collection View or a Table View? The world may never know... (Spoiler: It's a Collection View)
RZCollectionTableView
is a collection view layout and accompanying collection view and collection view cell subclasses that mimic the class/delegate interface, look, and feel of UITableView
, with a few added enhancements such as customizable section insets, row spacings, and more.
Utility for making collection view item insertion/deletion animations easier.
Basic concurrent NSOperation class that takes a block and executes it after a given time interval. Can be cancelled or reset.
CoreLocation made easy.
UIProgressView
is a little broken in iOS 7.0 (weird glitches when animating and resizing), and very broken in iOS 7.1 (can't set custom images; radar here). RZProgressView
is a drop-in replacement that fixes these problems.
A basement/reveal menu component.
UIViewController
container that uses a segment control to switch between an array of UIViewControllers
A UIViewController
subclass for managing a single child view controller contained in any subview container of a parent. Useful for keeping one view static while another view contains one of many potential child view controllers. iOS7+ only.
Extends the functionality of UISplitViewController
including allowing it to be presented Modally.
Makes NSURLRequest phone calls that use telprompt by making a tel request to a static UIWebView, which in turn privately calls telprompt. This gives you the benifits of using telprompt without calling it from UIApplication where it is not specifically supported by Apple.
Extensions to UIView
for easily loading a subclass from a XIB file.
UIViewController
that manages a web view, with associated chrome.
Useful macros, mathematical functions, and more.
Useful extensions for working with GCD/libdispatch.
A header with debug log macros that extend NSLog
, including verbosity levels.
All utilities within this directory are intended for use in test code ONLY.
A utility for aiding in testing asynchronous operations.
RZUtils is distributed under an MIT License. See the LICENSE file for more details.
Contributions and pull requests are welcome. Please adhere to the following guidelines:
develop
branch. We periodically coalesce updates into tagged releases with semantic version numbers, which are pushed as podspec updates then merged to master.RZ
for classes, rz_
for methods) for category methods and class names in order to avoid potential naming collisions.