Latest 2.3
License MIT
Platforms ios 8.0
Frameworks UIKit

A collection of helper methods for UIView and calculated variables for CGFloat to help enhance readability.


Available through CocoaPods. To install, add the following line to your Podfile:

pod 'SetNeedsReadable'


Usage of the centering helper methods should be restricted to layoutSubviews:, viewDidLayoutSubviews: or animation blocks as appropriate. When used outside of these scenarios, the user is still responsible for marking the appropriate view as dirty with a call to setNeedsLayout. To use, simply import the SetNeedsReadable module where needed.


foo.centerAlongHorizontalAxis(of: bar)
foo.centerAlongVerticalAxis(of: bar)
foo.centerHorizontally(between: bar, and: baz) bar)
foo.centerVertically(between: bar, and: baz)

Aligning Inside Another View

foo.alignInside(leftEdgeOf: bar)
foo.alignInside(rightEdgeOf: bar)
foo.alignInside(topEdgeOf: bar)
foo.alignInside(bottomEdgeOf: bar)

Aligning Outside Another View

foo.alignOutside(leftEdgeOf: bar)
foo.alignOutside(rightEdgeOf: bar)
foo.alignOutside(topEdgeOf: bar)
foo.alignOutside(bottomEdgeOf: bar)


The methods can also be invoked inside animation blocks.

UIView.animate(withDuration: duration, delay: delay, options: [], animations: { [weak self] in

  guard let weakSelf = self else { return }, and: weakSelf.baz), and: weakSelf.baz)

There is an example project in the repository that demonstrates usage.




SetNeedsReadable is available under the MIT license. See the LICENSE file for more info.

Latest podspec

    "name": "SetNeedsReadable",
    "version": "2.3",
    "summary": "Helpful extensions for CGFloat and UIView aimed to enhance readability of layout code.",
    "homepage": "",
    "license": {
        "type": "MIT",
        "file": "LICENSE"
    "authors": {
        "rehatkathuria": "[email protected]"
    "source": {
        "git": "",
        "tag": "2.3"
    "social_media_url": "",
    "platforms": {
        "ios": "8.0"
    "source_files": "Sources/**/*",
    "frameworks": "UIKit",
    "pushed_with_swift_version": "3.1"

Pin It on Pinterest

Share This