Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/sam-spencer/easier-cgrect
Making CGRect play nice with data storage and calculations is annoying. Easier CGRect is a straightforward Swift extension that adds critically missing / boilerplate functionality to CGRect..
https://github.com/sam-spencer/easier-cgrect
cgpoint cgrect cgsize coregraphics
Last synced: 17 days ago
JSON representation
Making CGRect play nice with data storage and calculations is annoying. Easier CGRect is a straightforward Swift extension that adds critically missing / boilerplate functionality to CGRect..
- Host: GitHub
- URL: https://github.com/sam-spencer/easier-cgrect
- Owner: Sam-Spencer
- License: mit
- Created: 2019-08-26T22:29:20.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2021-08-24T23:03:01.000Z (over 3 years ago)
- Last Synced: 2024-10-29T23:31:16.524Z (2 months ago)
- Topics: cgpoint, cgrect, cgsize, coregraphics
- Language: Swift
- Homepage:
- Size: 11.7 KB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# Easier CGRect
Making `CGRect` play nice with data storage and calculations is annoying. That's fixed with a simple extension.## Installation
1. Drag the file into your Xcode project.
2. That's it.
Or, you can use Swift Package Manager if your heart so desires.
## UsageDirectly access `NSNumber` values for `CGRect` properties without needing to write repetitive boilerplate code that converts `origin` and `size` values.
```swift
let bounds = CGRect.init(x: 10, y: 10, width: 100, height: 300)
// CGRect extension lets you retrieve an NSNumber for any x, y, width, or height value
let heightForCoreData: NSNumber = bounds.number(from: .height)
// CGSize extension lets you directly retrieve the number value as a calculated property
let heightFromCGSizeForCoreData: NSNumber = bounds.size.heightNumber
```
Directly access `Float` values for `CGRect` to quickly perform type-safe, value-guaranteed calculation. Again, without needing to write repetitive boilerplate code that converts `origin` and `size` values.```swift
let frame = CGRect.init(x: 10, y: 10, width: 100, height: 300)
// CGRect extension lets you retrieve an Float for any x, y, width, or height value
let xForCalculation: Float = bounds.float(from: .x)
// CGPoint extension lets you directly retrieve the float value as a calculated property
let xFromCGPointForCoreData: Float = bounds.origin.xFloat
```