(by @andrestaltz)
If you prefer to watch video tutorials with live-coding, then check out this series I recorded with the same contents as in this article: Egghead.io - Introduction to Reactive Programming.
| extension UIView { | |
| func roundCorners(_ corners: CACornerMask, radius: CGFloat) { | |
| if #available(iOS 11, *) { | |
| self.layer.cornerRadius = radius | |
| self.layer.maskedCorners = corners | |
| } else { | |
| var cornerMask = UIRectCorner() | |
| if(corners.contains(.layerMinXMinYCorner)){ | |
| cornerMask.insert(.topLeft) |
| // | |
| // UILabel+JumpingDots.swift | |
| // JumpingDots | |
| // | |
| // Copyright (c) 2016 Arkadiusz Holko. All rights reserved. | |
| // | |
| import UIKit | |
| import ObjectiveC |
| Project | # of Top 100 Free Apps (US) | |
|---|---|---|
| facebook-ios-sdk | 67 | |
| Bolts-iOS | 48 | |
| AFNetworking | 39 | |
| Google-Mobile-Ads-SDK | 38 | |
| Reachability (Apple) | 38 | |
| Crashlytics | 37 | |
| Flurry-iOS-SDK | 31 | |
| CocoaPods | 30 | |
| GoogleConversionTracking | 29 |
(by @andrestaltz)
If you prefer to watch video tutorials with live-coding, then check out this series I recorded with the same contents as in this article: Egghead.io - Introduction to Reactive Programming.
| // | |
| // UIView+CustomTimingFunction.h | |
| // Instants | |
| // | |
| // Created by Christian Giordano on 16/10/2013. | |
| // Copyright (c) 2013 Christian Giordano. All rights reserved. | |
| // | |
| #import <UIKit/UIKit.h> |