Commit 777f4942 by Daniel Dahan

development: updated Pulse internal API

parent a861a90b
...@@ -49,7 +49,8 @@ open class Bar: View { ...@@ -49,7 +49,8 @@ open class Bar: View {
/// Should center the contentView. /// Should center the contentView.
open var contentViewAlignment = ContentViewAlignment.full { open var contentViewAlignment = ContentViewAlignment.full {
didSet { didSet {
layoutSubviews() setNeedsLayout()
layoutIfNeeded()
} }
} }
...@@ -100,7 +101,8 @@ open class Bar: View { ...@@ -100,7 +101,8 @@ open class Bar: View {
open var gridFactor: CGFloat = 12 { open var gridFactor: CGFloat = 12 {
didSet { didSet {
assert(0 < gridFactor, "[Material Error: gridFactor must be greater than 0.]") assert(0 < gridFactor, "[Material Error: gridFactor must be greater than 0.]")
layoutSubviews() setNeedsLayout()
layoutIfNeeded()
} }
} }
...@@ -113,7 +115,8 @@ open class Bar: View { ...@@ -113,7 +115,8 @@ open class Bar: View {
for v in oldValue { for v in oldValue {
v.removeFromSuperview() v.removeFromSuperview()
} }
layoutSubviews() setNeedsLayout()
layoutIfNeeded()
} }
} }
...@@ -123,7 +126,8 @@ open class Bar: View { ...@@ -123,7 +126,8 @@ open class Bar: View {
for v in oldValue { for v in oldValue {
v.removeFromSuperview() v.removeFromSuperview()
} }
layoutSubviews() setNeedsLayout()
layoutIfNeeded()
} }
} }
......
...@@ -44,7 +44,7 @@ open class Button: UIButton, Pulseable, PulseableLayer { ...@@ -44,7 +44,7 @@ open class Button: UIButton, Pulseable, PulseableLayer {
/// A reference to the pulse layer. /// A reference to the pulse layer.
internal var pulseLayer: CALayer? { internal var pulseLayer: CALayer? {
return pulse.pulseLayer return pulse.layer
} }
/// PulseAnimation value. /// PulseAnimation value.
...@@ -263,7 +263,7 @@ extension Button { ...@@ -263,7 +263,7 @@ extension Button {
/// Prepares the pulse motion. /// Prepares the pulse motion.
fileprivate func preparePulse() { fileprivate func preparePulse() {
pulse = Pulse(pulseView: self, pulseLayer: visualLayer) pulse = Pulse(view: self, layer: visualLayer)
} }
/** /**
......
...@@ -69,7 +69,8 @@ open class Card: PulseView { ...@@ -69,7 +69,8 @@ open class Card: PulseView {
if let v = toolbar { if let v = toolbar {
container.addSubview(v) container.addSubview(v)
} }
layoutSubviews() setNeedsLayout()
layoutIfNeeded()
} }
} }
...@@ -84,7 +85,8 @@ open class Card: PulseView { ...@@ -84,7 +85,8 @@ open class Card: PulseView {
@IBInspectable @IBInspectable
open var toolbarEdgeInsets = EdgeInsets.zero { open var toolbarEdgeInsets = EdgeInsets.zero {
didSet { didSet {
layoutSubviews() setNeedsLayout()
layoutIfNeeded()
} }
} }
...@@ -97,7 +99,8 @@ open class Card: PulseView { ...@@ -97,7 +99,8 @@ open class Card: PulseView {
v.clipsToBounds = true v.clipsToBounds = true
container.addSubview(v) container.addSubview(v)
} }
layoutSubviews() setNeedsLayout()
layoutIfNeeded()
} }
} }
...@@ -112,7 +115,8 @@ open class Card: PulseView { ...@@ -112,7 +115,8 @@ open class Card: PulseView {
@IBInspectable @IBInspectable
open var contentViewEdgeInsets = EdgeInsets.zero { open var contentViewEdgeInsets = EdgeInsets.zero {
didSet { didSet {
layoutSubviews() setNeedsLayout()
layoutIfNeeded()
} }
} }
...@@ -124,7 +128,8 @@ open class Card: PulseView { ...@@ -124,7 +128,8 @@ open class Card: PulseView {
if let v = bottomBar { if let v = bottomBar {
container.addSubview(v) container.addSubview(v)
} }
layoutSubviews() setNeedsLayout()
layoutIfNeeded()
} }
} }
...@@ -139,7 +144,8 @@ open class Card: PulseView { ...@@ -139,7 +144,8 @@ open class Card: PulseView {
@IBInspectable @IBInspectable
open var bottomBarEdgeInsets = EdgeInsets.zero { open var bottomBarEdgeInsets = EdgeInsets.zero {
didSet { didSet {
layoutSubviews() setNeedsLayout()
layoutIfNeeded()
} }
} }
......
...@@ -45,7 +45,7 @@ open class CollectionReusableView: UICollectionReusableView, Pulseable, Pulseabl ...@@ -45,7 +45,7 @@ open class CollectionReusableView: UICollectionReusableView, Pulseable, Pulseabl
/// A reference to the pulse layer. /// A reference to the pulse layer.
internal var pulseLayer: CALayer? { internal var pulseLayer: CALayer? {
return pulse.pulseLayer return pulse.layer
} }
/// PulseAnimation value. /// PulseAnimation value.
...@@ -301,7 +301,7 @@ open class CollectionReusableView: UICollectionReusableView, Pulseable, Pulseabl ...@@ -301,7 +301,7 @@ open class CollectionReusableView: UICollectionReusableView, Pulseable, Pulseabl
extension CollectionReusableView { extension CollectionReusableView {
/// Prepares the pulse motion. /// Prepares the pulse motion.
fileprivate func preparePulse() { fileprivate func preparePulse() {
pulse = Pulse(pulseView: self, pulseLayer: visualLayer) pulse = Pulse(view: self, layer: visualLayer)
pulseAnimation = .none pulseAnimation = .none
} }
......
...@@ -45,7 +45,7 @@ open class CollectionViewCell: UICollectionViewCell, Pulseable, PulseableLayer { ...@@ -45,7 +45,7 @@ open class CollectionViewCell: UICollectionViewCell, Pulseable, PulseableLayer {
/// A reference to the pulse layer. /// A reference to the pulse layer.
internal var pulseLayer: CALayer? { internal var pulseLayer: CALayer? {
return pulse.pulseLayer return pulse.layer
} }
/// PulseAnimation value. /// PulseAnimation value.
...@@ -259,7 +259,7 @@ open class CollectionViewCell: UICollectionViewCell, Pulseable, PulseableLayer { ...@@ -259,7 +259,7 @@ open class CollectionViewCell: UICollectionViewCell, Pulseable, PulseableLayer {
extension CollectionViewCell { extension CollectionViewCell {
/// Prepares the pulse motion. /// Prepares the pulse motion.
fileprivate func preparePulse() { fileprivate func preparePulse() {
pulse = Pulse(pulseView: self, pulseLayer: visualLayer) pulse = Pulse(view: self, layer: visualLayer)
} }
/// Prepares the visualLayer property. /// Prepares the visualLayer property.
......
...@@ -36,7 +36,8 @@ open class ErrorTextField: TextField { ...@@ -36,7 +36,8 @@ open class ErrorTextField: TextField {
open var isErrorRevealed = false { open var isErrorRevealed = false {
didSet { didSet {
detailLabel.isHidden = !isErrorRevealed detailLabel.isHidden = !isErrorRevealed
layoutSubviews() setNeedsLayout()
layoutIfNeeded()
} }
} }
......
...@@ -67,7 +67,8 @@ open class FABMenuItem: View { ...@@ -67,7 +67,8 @@ open class FABMenuItem: View {
} }
set(value) { set(value) {
titleLabel.text = value titleLabel.text = value
layoutSubviews() setNeedsLayout()
layoutIfNeeded()
} }
} }
...@@ -200,7 +201,8 @@ open class FABMenu: View { ...@@ -200,7 +201,8 @@ open class FABMenu: View {
spring.springDirection = .right spring.springDirection = .right
} }
layoutSubviews() setNeedsLayout()
layoutIfNeeded()
} }
} }
......
...@@ -44,7 +44,8 @@ open class ImageCard: Card { ...@@ -44,7 +44,8 @@ open class ImageCard: Card {
*/ */
open var imageViewDisplay = Display.partial { open var imageViewDisplay = Display.partial {
didSet { didSet {
layoutSubviews() setNeedsLayout()
layoutIfNeeded()
} }
} }
...@@ -59,7 +60,8 @@ open class ImageCard: Card { ...@@ -59,7 +60,8 @@ open class ImageCard: Card {
@IBInspectable @IBInspectable
open var imageViewEdgeInsets = EdgeInsets.zero { open var imageViewEdgeInsets = EdgeInsets.zero {
didSet { didSet {
layoutSubviews() setNeedsLayout()
layoutIfNeeded()
} }
} }
...@@ -71,14 +73,16 @@ open class ImageCard: Card { ...@@ -71,14 +73,16 @@ open class ImageCard: Card {
if let v = imageView { if let v = imageView {
container.addSubview(v) container.addSubview(v)
} }
layoutSubviews() setNeedsLayout()
layoutIfNeeded()
} }
} }
/// An ImageCardToolbarAlignment value. /// An ImageCardToolbarAlignment value.
open var toolbarAlignment = ToolbarAlignment.bottom { open var toolbarAlignment = ToolbarAlignment.bottom {
didSet { didSet {
layoutSubviews() setNeedsLayout()
layoutIfNeeded()
} }
} }
......
...@@ -51,7 +51,8 @@ open class NavigationBar: UINavigationBar { ...@@ -51,7 +51,8 @@ open class NavigationBar: UINavigationBar {
@IBInspectable @IBInspectable
open var contentEdgeInsets = EdgeInsets.zero { open var contentEdgeInsets = EdgeInsets.zero {
didSet { didSet {
layoutSubviews() setNeedsLayout()
layoutIfNeeded()
} }
} }
...@@ -66,7 +67,8 @@ open class NavigationBar: UINavigationBar { ...@@ -66,7 +67,8 @@ open class NavigationBar: UINavigationBar {
@IBInspectable @IBInspectable
open var interimSpace: InterimSpace = 0 { open var interimSpace: InterimSpace = 0 {
didSet { didSet {
layoutSubviews() setNeedsLayout()
layoutIfNeeded()
} }
} }
...@@ -75,7 +77,8 @@ open class NavigationBar: UINavigationBar { ...@@ -75,7 +77,8 @@ open class NavigationBar: UINavigationBar {
open var gridFactor: CGFloat = 12 { open var gridFactor: CGFloat = 12 {
didSet { didSet {
assert(0 < gridFactor, "[Material Error: gridFactor must be greater than 0.]") assert(0 < gridFactor, "[Material Error: gridFactor must be greater than 0.]")
layoutSubviews() setNeedsLayout()
layoutIfNeeded()
} }
} }
......
...@@ -38,7 +38,8 @@ public class NavigationItem: NSObject { ...@@ -38,7 +38,8 @@ public class NavigationItem: NSObject {
/// Should center the contentView. /// Should center the contentView.
open var contentViewAlignment = ContentViewAlignment.center { open var contentViewAlignment = ContentViewAlignment.center {
didSet { didSet {
navigationBar?.layoutSubviews() navigationBar?.setNeedsLayout()
navigationBar?.layoutIfNeeded()
} }
} }
...@@ -60,7 +61,8 @@ public class NavigationItem: NSObject { ...@@ -60,7 +61,8 @@ public class NavigationItem: NSObject {
for v in oldValue { for v in oldValue {
v.removeFromSuperview() v.removeFromSuperview()
} }
navigationBar?.layoutSubviews() navigationBar?.setNeedsLayout()
navigationBar?.layoutIfNeeded()
} }
} }
...@@ -70,7 +72,8 @@ public class NavigationItem: NSObject { ...@@ -70,7 +72,8 @@ public class NavigationItem: NSObject {
for v in oldValue { for v in oldValue {
v.removeFromSuperview() v.removeFromSuperview()
} }
navigationBar?.layoutSubviews() navigationBar?.setNeedsLayout()
navigationBar?.layoutIfNeeded()
} }
} }
...@@ -109,7 +112,8 @@ public class NavigationItem: NSObject { ...@@ -109,7 +112,8 @@ public class NavigationItem: NSObject {
/// Reloads the subviews for the NavigationBar. /// Reloads the subviews for the NavigationBar.
internal func reload() { internal func reload() {
navigationBar?.layoutSubviews() navigationBar?.setNeedsLayout()
navigationBar?.layoutIfNeeded()
} }
/// Prepares the titleLabel. /// Prepares the titleLabel.
......
...@@ -42,7 +42,8 @@ open class PresenterCard: Card { ...@@ -42,7 +42,8 @@ open class PresenterCard: Card {
@IBInspectable @IBInspectable
open var presenterViewEdgeInsets = EdgeInsets.zero { open var presenterViewEdgeInsets = EdgeInsets.zero {
didSet { didSet {
layoutSubviews() setNeedsLayout()
layoutIfNeeded()
} }
} }
...@@ -55,7 +56,8 @@ open class PresenterCard: Card { ...@@ -55,7 +56,8 @@ open class PresenterCard: Card {
v.clipsToBounds = true v.clipsToBounds = true
container.addSubview(v) container.addSubview(v)
} }
layoutSubviews() setNeedsLayout()
layoutIfNeeded()
} }
} }
......
...@@ -60,10 +60,10 @@ internal protocol PulseableLayer { ...@@ -60,10 +60,10 @@ internal protocol PulseableLayer {
public struct Pulse { public struct Pulse {
/// A UIView that is Pulseable. /// A UIView that is Pulseable.
fileprivate weak var pulseView: UIView? fileprivate weak var view: UIView?
/// The layer the pulse layers are added to. /// The layer the pulse layers are added to.
internal weak var pulseLayer: CALayer? internal weak var layer: CALayer?
/// Pulse layers. /// Pulse layers.
fileprivate var layers = [CAShapeLayer]() fileprivate var layers = [CAShapeLayer]()
...@@ -79,12 +79,12 @@ public struct Pulse { ...@@ -79,12 +79,12 @@ public struct Pulse {
/** /**
An initializer that takes a given view and pulse layer. An initializer that takes a given view and pulse layer.
- Parameter pulseView: An optional UIView. - Parameter view: An optional UIView.
- Parameter pulseLayer: An optional CALayer. - Parameter layer: An optional CALayer.
*/ */
internal init(pulseView: UIView?, pulseLayer: CALayer?) { internal init(view: UIView?, layer: CALayer?) {
self.pulseView = pulseView self.view = view
self.pulseLayer = pulseLayer self.layer = layer
} }
/** /**
...@@ -92,11 +92,11 @@ public struct Pulse { ...@@ -92,11 +92,11 @@ public struct Pulse {
- Parameter point: A point to pulse from. - Parameter point: A point to pulse from.
*/ */
public mutating func expand(point: CGPoint) { public mutating func expand(point: CGPoint) {
guard let view = pulseView else { guard let v = view else {
return return
} }
guard let layer = pulseLayer else { guard let layer = layer else {
return return
} }
...@@ -116,8 +116,8 @@ public struct Pulse { ...@@ -116,8 +116,8 @@ public struct Pulse {
layer.masksToBounds = !(.centerRadialBeyondBounds == animation || .radialBeyondBounds == animation) layer.masksToBounds = !(.centerRadialBeyondBounds == animation || .radialBeyondBounds == animation)
let w = view.bounds.width let w = v.bounds.width
let h = view.bounds.height let h = v.bounds.height
Motion.disable({ [ Motion.disable({ [
n = .center == animation ? w < h ? w : h : w < h ? h : w, n = .center == animation ? w < h ? w : h : w < h ? h : w,
......
...@@ -36,7 +36,7 @@ open class PulseView: View, Pulseable, PulseableLayer { ...@@ -36,7 +36,7 @@ open class PulseView: View, Pulseable, PulseableLayer {
/// A reference to the pulse layer. /// A reference to the pulse layer.
internal var pulseLayer: CALayer? { internal var pulseLayer: CALayer? {
return pulse.pulseLayer return pulse.layer
} }
/// PulseAnimation value. /// PulseAnimation value.
...@@ -132,6 +132,6 @@ open class PulseView: View, Pulseable, PulseableLayer { ...@@ -132,6 +132,6 @@ open class PulseView: View, Pulseable, PulseableLayer {
extension PulseView { extension PulseView {
/// Prepares the pulse motion. /// Prepares the pulse motion.
fileprivate func preparePulse() { fileprivate func preparePulse() {
pulse = Pulse(pulseView: self, pulseLayer: visualLayer) pulse = Pulse(view: self, layer: visualLayer)
} }
} }
...@@ -44,7 +44,8 @@ open class Snackbar: Bar { ...@@ -44,7 +44,8 @@ open class Snackbar: Bar {
} }
set(value) { set(value) {
textLabel.text = value textLabel.text = value
layoutSubviews() setNeedsLayout()
layoutIfNeeded()
} }
} }
......
...@@ -118,7 +118,8 @@ open class TabBar: Bar { ...@@ -118,7 +118,8 @@ open class TabBar: Bar {
centerViews = buttons as [UIView] centerViews = buttons as [UIView]
layoutSubviews() setNeedsLayout()
layoutIfNeeded()
} }
} }
...@@ -152,7 +153,8 @@ open class TabBar: Bar { ...@@ -152,7 +153,8 @@ open class TabBar: Bar {
/// A value for the line alignment. /// A value for the line alignment.
open var lineAlignment = TabBarLineAlignment.bottom { open var lineAlignment = TabBarLineAlignment.bottom {
didSet { didSet {
layoutSubviews() setNeedsLayout()
layoutIfNeeded()
} }
} }
......
...@@ -44,7 +44,7 @@ open class TableViewCell: UITableViewCell, Pulseable, PulseableLayer { ...@@ -44,7 +44,7 @@ open class TableViewCell: UITableViewCell, Pulseable, PulseableLayer {
/// A reference to the pulse layer. /// A reference to the pulse layer.
internal var pulseLayer: CALayer? { internal var pulseLayer: CALayer? {
return pulse.pulseLayer return pulse.layer
} }
/// PulseAnimation value. /// PulseAnimation value.
...@@ -180,7 +180,7 @@ open class TableViewCell: UITableViewCell, Pulseable, PulseableLayer { ...@@ -180,7 +180,7 @@ open class TableViewCell: UITableViewCell, Pulseable, PulseableLayer {
extension TableViewCell { extension TableViewCell {
/// Prepares the pulse motion. /// Prepares the pulse motion.
fileprivate func preparePulse() { fileprivate func preparePulse() {
pulse = Pulse(pulseView: self, pulseLayer: visualLayer) pulse = Pulse(view: self, layer: visualLayer)
} }
/// Prepares the visualLayer property. /// Prepares the visualLayer property.
......
...@@ -88,7 +88,8 @@ open class TextField: UITextField { ...@@ -88,7 +88,8 @@ open class TextField: UITextField {
open override var leftView: UIView? { open override var leftView: UIView? {
didSet { didSet {
prepareLeftView() prepareLeftView()
layoutSubviews() setNeedsLayout()
layoutIfNeeded()
} }
} }
...@@ -185,7 +186,8 @@ open class TextField: UITextField { ...@@ -185,7 +186,8 @@ open class TextField: UITextField {
} }
set(value) { set(value) {
placeholderLabel.text = value placeholderLabel.text = value
layoutSubviews() setNeedsLayout()
layoutIfNeeded()
} }
} }
...@@ -225,7 +227,8 @@ open class TextField: UITextField { ...@@ -225,7 +227,8 @@ open class TextField: UITextField {
} }
set(value) { set(value) {
detailLabel.text = value detailLabel.text = value
layoutSubviews() setNeedsLayout()
layoutIfNeeded()
} }
} }
...@@ -285,7 +288,8 @@ open class TextField: UITextField { ...@@ -285,7 +288,8 @@ open class TextField: UITextField {
rightView = clearIconButton rightView = clearIconButton
isClearIconButtonAutoHandled = isClearIconButtonAutoHandled ? true : false isClearIconButtonAutoHandled = isClearIconButtonAutoHandled ? true : false
layoutSubviews() setNeedsLayout()
layoutIfNeeded()
} }
} }
...@@ -332,7 +336,8 @@ open class TextField: UITextField { ...@@ -332,7 +336,8 @@ open class TextField: UITextField {
rightView = visibilityIconButton rightView = visibilityIconButton
isVisibilityIconButtonAutoHandled = isVisibilityIconButtonAutoHandled ? true : false isVisibilityIconButtonAutoHandled = isVisibilityIconButtonAutoHandled ? true : false
layoutSubviews() setNeedsLayout()
layoutIfNeeded()
} }
} }
......
...@@ -41,7 +41,8 @@ open class Toolbar: Bar { ...@@ -41,7 +41,8 @@ open class Toolbar: Bar {
} }
set(value) { set(value) {
titleLabel.text = value titleLabel.text = value
layoutSubviews() setNeedsLayout()
layoutIfNeeded()
} }
} }
...@@ -57,7 +58,8 @@ open class Toolbar: Bar { ...@@ -57,7 +58,8 @@ open class Toolbar: Bar {
} }
set(value) { set(value) {
detailLabel.text = value detailLabel.text = value
layoutSubviews() setNeedsLayout()
layoutIfNeeded()
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment