Commit fd0d4980 by Daniel Dahan

development: issue-615: Added snackbarEdgeInsets and snackbarEdgeInsetsPreset to…

development: issue-615: Added snackbarEdgeInsets and snackbarEdgeInsetsPreset to position the Snackbar from the SnackbarController's edges.
parent a9ae15ab
...@@ -102,6 +102,21 @@ open class SnackbarController: RootController { ...@@ -102,6 +102,21 @@ open class SnackbarController: RootController {
/// Snackbar alignment setting. /// Snackbar alignment setting.
open var snackbarAlignment = SnackbarAlignment.bottom open var snackbarAlignment = SnackbarAlignment.bottom
/// A preset wrapper around snackbarEdgeInsets.
open var snackbarEdgeInsetsPreset = EdgeInsetsPreset.none {
didSet {
snackbarEdgeInsets = EdgeInsetsPresetToValue(preset: snackbarEdgeInsetsPreset)
}
}
/// A reference to snackbarEdgeInsets.
@IBInspectable
open var snackbarEdgeInsets = EdgeInsets.zero {
didSet {
layoutSubviews()
}
}
/** /**
Animates to a SnackbarStatus. Animates to a SnackbarStatus.
- Parameter status: A SnackbarStatus enum value. - Parameter status: A SnackbarStatus enum value.
...@@ -167,7 +182,8 @@ open class SnackbarController: RootController { ...@@ -167,7 +182,8 @@ open class SnackbarController: RootController {
/// Reloads the view. /// Reloads the view.
open func reload() { open func reload() {
snackbar.width = view.width snackbar.x = snackbarEdgeInsets.left
snackbar.width = view.width - snackbarEdgeInsets.left - snackbarEdgeInsets.right
rootViewController.view.frame = view.bounds rootViewController.view.frame = view.bounds
layoutSnackbar(status: snackbar.status) layoutSnackbar(status: snackbar.status)
} }
...@@ -196,9 +212,9 @@ open class SnackbarController: RootController { ...@@ -196,9 +212,9 @@ open class SnackbarController: RootController {
*/ */
private func layoutSnackbar(status: SnackbarStatus) { private func layoutSnackbar(status: SnackbarStatus) {
if .bottom == snackbarAlignment { if .bottom == snackbarAlignment {
snackbar.y = .visible == status ? view.height - snackbar.height : view.height snackbar.y = .visible == status ? view.height - snackbar.height - snackbarEdgeInsets.bottom : view.height
} else { } else {
snackbar.y = .visible == status ? 0 : -snackbar.height snackbar.y = .visible == status ? snackbarEdgeInsets.top : -snackbar.height
} }
} }
} }
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