Skip to content

Commit 5fd3e29

Browse files
committed
Updated example app.
1 parent 28ecf2a commit 5fd3e29

File tree

6 files changed

+31
-24
lines changed

6 files changed

+31
-24
lines changed

Example App/SPAlert.xcodeproj/project.pbxproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -379,15 +379,15 @@
379379
repositoryURL = "https://github.com/ivanvorobei/SparrowKit";
380380
requirement = {
381381
kind = upToNextMajorVersion;
382-
minimumVersion = 3.0.7;
382+
minimumVersion = 3.5.0;
383383
};
384384
};
385385
F43A587526564C7D009098ED /* XCRemoteSwiftPackageReference "SPDiffable" */ = {
386386
isa = XCRemoteSwiftPackageReference;
387387
repositoryURL = "https://github.com/ivanvorobei/SPDiffable";
388388
requirement = {
389389
kind = upToNextMajorVersion;
390-
minimumVersion = 1.2.2;
390+
minimumVersion = 4.0.0;
391391
};
392392
};
393393
/* End XCRemoteSwiftPackageReference section */

Example App/SPAlert.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved

Lines changed: 4 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Example App/iOS Example/Controllers/PresetsController.swift

Lines changed: 17 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ class PresetsController: SPDiffableTableController {
4343
navigationItem.title = "SPAlert Presets"
4444

4545
currentPreset = presets.first!
46-
setCellProviders(SPDiffableTableCellProviders.default, sections: content)
46+
configureDiffable(sections: content, cellProviders: SPDiffableTableDataSource.CellProvider.default)
4747

4848
navigationController?.isToolbarHidden = false
4949
toolbarItems = [
@@ -61,7 +61,19 @@ class PresetsController: SPDiffableTableController {
6161
.init(barButtonSystemItem: .flexibleSpace, target: nil, action: nil),
6262
.init(systemItem: .play, primaryAction: .init(handler: { [weak self] (action) in
6363
guard let preset = self?.currentPreset else { return }
64-
SPAlert.present(title: preset.title, message: preset.message, preset: preset.preset, completion: nil)
64+
SPAlert.present(
65+
title: preset.title,
66+
message: preset.message,
67+
preset: preset.preset,
68+
completion: nil
69+
)
70+
71+
if preset.preset == SPAlertIconPreset.spinner {
72+
delay(2, closure: {
73+
SPAlert.dismiss()
74+
})
75+
}
76+
6577
}), menu: nil),
6678
.init(barButtonSystemItem: .flexibleSpace, target: nil, action: nil),
6779
]
@@ -107,15 +119,8 @@ class PresetsController: SPDiffableTableController {
107119
// MARK: - Diffable
108120

109121
var currentPreset: AlertPresetModel? {
110-
willSet {
111-
guard let id = self.currentPreset?.id else { return }
112-
let cell = diffableDataSource?.cell(UITableViewCell.self, for: id)
113-
cell?.accessoryType = .none
114-
}
115122
didSet {
116-
guard let id = self.currentPreset?.id else { return }
117-
let cell = diffableDataSource?.cell(UITableViewCell.self, for: id)
118-
cell?.accessoryType = .checkmark
123+
self.diffableDataSource?.set(content, animated: false)
119124
}
120125
}
121126

@@ -124,13 +129,13 @@ class PresetsController: SPDiffableTableController {
124129
return SPDiffableTableRow(
125130
text: preset.name,
126131
accessoryType: (preset.id == currentPreset?.id) ? .checkmark : .none,
127-
selectionStyle: .none) { [weak self] _ in
132+
selectionStyle: .none) { [weak self] _,_ in
128133
guard let self = self else { return }
129134
self.currentPreset = preset
130135
}
131136
}
132137
return [
133-
SPDiffableSection(identifier: "presets", header: nil, footer: nil, items: items)
138+
SPDiffableSection(id: "presets", header: nil, footer: nil, items: items)
134139
]
135140
}
136141
}

SPAlert.podspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
Pod::Spec.new do |s|
22

33
s.name = 'SPAlert'
4-
s.version = '4.1.0'
4+
s.version = '4.2.0'
55
s.summary = 'Native alert from Apple Music & Feedback. Contains Done, Heart & Message and other presets. Support SwiftUI.'
66
s.homepage = 'https://github.com/ivanvorobei/SPAlert'
77
s.source = { :git => 'https://github.com/ivanvorobei/SPAlert.git', :tag => s.version }

Sources/SPAlert/SPAlert.swift

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -83,10 +83,12 @@ public enum SPAlert {
8383
public static func dismiss() {
8484
if #available(iOS 13.0, *) {
8585
for scene in UIApplication.shared.connectedScenes {
86-
if let windowScene = scene as? UIWindowSceneDelegate {
87-
for view in windowScene.window??.subviews ?? [] {
88-
if let alertView = view as? SPAlertView {
89-
alertView.dismiss()
86+
if let windowScene = scene as? UIWindowScene {
87+
windowScene.windows.forEach { window in
88+
for view in window.subviews {
89+
if let alertView = view as? SPAlertView {
90+
alertView.dismiss()
91+
}
9092
}
9193
}
9294
}

Sources/SPAlert/SPAlertIconPreset.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ import UIKit
2525
SPAlert: Represent icon wrapper.
2626
Included default styles and can be custom image.
2727
*/
28-
public enum SPAlertIconPreset {
28+
public enum SPAlertIconPreset: Equatable {
2929

3030
case done
3131
case error

0 commit comments

Comments
 (0)