Year 1 Issue 7
20 Jul 2015Howdy! Hope you have a relaxing weekend, because this week we have plenty of new projects to dig into 😁
Static
Language: Swift
How many times have you written static table view code? How many time have you screamed in frustration seeing some old swicth
statement done on the section
s and row
s? Dread no more, this Swfit framework by Venmo provides an easy and clean API to clearly define static table views, once and for all.
let dataSource = TableDataSource()
dataSource.sections = [
Section(header: "Money", rows: [
Row(text: "Balance", detailText: "$12.00", accessory: .DisclosureIndicator, selection: {
// Show statement
}),
Row(text: "Transfer to Bank…", cellClass: ButtonCell.self, selection: {
// Show transfer to bank modal
})
], footer: "Transfers usually arrive within 1-3 business days.")
]
dataSource.tableView = tableView
Chameleon
Language: Objective-C (and Swift)
Chameleon is a remarkable flat colors framework for iOS, packed of features. Not only it comes with gorgeous colors, and color schemes, but also gradients, Storyboard palette, and great Quick Help documentation.
Bond
Language: Swift
Bond is a Swift binding framework that takes binding concept to a whole new level - boils it down to just one operator. It’s simple, powerful, type-safe and multi-paradigm.
With Bond you can do things like:
viewModel.numberOfFollowers.map { "\($0)" } ->> label
or
lazy var loginButtonTapListener = Bond<UIControlEvents>() { event in
// perform login
}
loginButton.dynEvent.filter(==, .TouchUpInside) ->> loginButtonTapListener
If the code above looks cryptical to you, have a read to the “Functional concepts explained” section of the README.
DOFavoriteButton
Language: Swift
This components allows you to add a cute selection animation to any kind of flat image. It is fullyg configurable via both Interface Builder and code. Head over to the README’s how to use section to find out its full potential.
SwiftGen
Language: Swift
From the makers of the great OHHTTPStubs comes a collection of tools to auto-generate Swift code for various assests in the project.
At the moment you can generate:
enums
for your Assets Catalogsenums
for your UIStoryboard and their Scenesenums
for your UIColors.enums
for your Localizable.strings strings.
iOS 9 Day by Day
Language: Swift
Every year Shinobi Controls releases a series of tutorials on the newest iOS SDK features. The first two in the series cover the new search API, and UI testing. Definitely keep an eye on this one.
ParkedTextField
A text field with a constant text/placeholder. That’s it.
Note: as the author declares in the README, the main functionality works, but the library is still under development.
Mirror
Language: Swift
Mirror is a library to add reflection to Swift’s objects. 100% Swift, no Objective-C runtime.
struct Person {
let name: String
var age: Int
}
var person = Person(name: "Jon", age: 27)
let mirror = Mirror(person)
mirror.name
//"MirrorTest.Person"
mirror.memorySize
// 32
mirror.isClass
//false
mirror.isStruct
//true
mirror.names
//["name", "age"]
mirror.values
//["Jon", 27]
mirror.types
//[Swift.String, Swift.Int]
Other interesting projects
- iOS-Images-Extractor a Mac app to normalize , decode and extract images from iOS apps.
- SwiftSignatureView a lightweight, fast and customizable option for capturing fluid, variable-stroke-width signatures within your app.
- EFCalendarGraph an extensible calendar graph component with sensible defaults, produces views like the GitHub activity.
- SwiftyImage powerful set of APIs to generate, manipulate and merge images.
- SegueContext an easier way to pass context objects to segues.