Skip to content

Commit

Permalink
Merge pull request #30 from kevin-kp/features/window-level
Browse files Browse the repository at this point in the history
Configurable UIWindow.Level
  • Loading branch information
JanGorman authored Feb 27, 2020
2 parents 96ce581 + d468a82 commit b32934b
Showing 1 changed file with 14 additions and 3 deletions.
17 changes: 14 additions & 3 deletions SwiftMessageBar/SwiftMessageBar.swift
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ public final class SwiftMessageBar {
public static let titleFont: UIFont = .boldSystemFont(ofSize: 16)
public static let messageFont: UIFont = .systemFont(ofSize: 14)
public static let isHapticFeedbackEnabled = true
public static let windowLevel = UIWindow.Level.normal
}

let errorColor: UIColor
Expand All @@ -34,6 +35,7 @@ public final class SwiftMessageBar {
let titleFont: UIFont
let messageFont: UIFont
let isHapticFeedbackEnabled: Bool
let windowLevel: UIWindow.Level

public init(errorColor: UIColor = Defaults.errorColor,
successColor: UIColor = Defaults.successColor,
Expand All @@ -46,7 +48,8 @@ public final class SwiftMessageBar {
errorIcon: UIImage? = nil,
titleFont: UIFont = Defaults.titleFont,
messageFont: UIFont = Defaults.messageFont,
isHapticFeedbackEnabled: Bool = Defaults.isHapticFeedbackEnabled) {
isHapticFeedbackEnabled: Bool = Defaults.isHapticFeedbackEnabled,
windowLevel: UIWindow.Level = Defaults.windowLevel) {
self.errorColor = errorColor
self.successColor = successColor
self.infoColor = infoColor
Expand All @@ -60,6 +63,7 @@ public final class SwiftMessageBar {
self.titleFont = titleFont
self.messageFont = messageFont
self.isHapticFeedbackEnabled = isHapticFeedbackEnabled
self.windowLevel = windowLevel
}

public class Builder {
Expand All @@ -76,6 +80,7 @@ public final class SwiftMessageBar {
private var titleFont: UIFont?
private var messageFont: UIFont?
private var isHapticFeedbackEnabled: Bool?
private var windowLevel: UIWindow.Level?

public init() {
}
Expand Down Expand Up @@ -140,6 +145,11 @@ public final class SwiftMessageBar {
return self
}

public func withWindowLevel(_ level: UIWindow.Level) -> Builder {
windowLevel = level
return self
}

public func build() -> Config {
Config(errorColor: errorColor ?? Defaults.errorColor,
successColor: successColor ?? Defaults.successColor,
Expand All @@ -150,7 +160,8 @@ public final class SwiftMessageBar {
successIcon: successIcon, infoIcon: infoIcon, errorIcon: errorIcon,
titleFont: titleFont ?? Defaults.titleFont,
messageFont: messageFont ?? Defaults.messageFont,
isHapticFeedbackEnabled: isHapticFeedbackEnabled ?? Defaults.isHapticFeedbackEnabled)
isHapticFeedbackEnabled: isHapticFeedbackEnabled ?? Defaults.isHapticFeedbackEnabled,
windowLevel: windowLevel ?? Defaults.windowLevel)
}

}
Expand All @@ -171,7 +182,7 @@ public final class SwiftMessageBar {
let messageWindow = MessageWindow()
messageWindow.frame = UIScreen.main.bounds
messageWindow.isHidden = false
messageWindow.windowLevel = .normal
messageWindow.windowLevel = config.windowLevel
messageWindow.backgroundColor = .clear
messageWindow.messageBarController.statusBarHidden = config.isStatusBarHidden
messageWindow.rootViewController = messageWindow.messageBarController
Expand Down

0 comments on commit b32934b

Please sign in to comment.