Files
damus/damus/Util/KeyboardVisible.swift
William Casarin 0f5e1dfb81 Properly scroll DM view when keyboard is open
Less DM jank!

Changelog-Fixed: Properly scroll DM view when keyboard is open
2023-05-05 16:13:17 -07:00

32 lines
742 B
Swift

//
// KeyboardVisible.swift
// damus
//
// Created by William Casarin on 2023-05-05.
//
import Foundation
import Combine
import UIKit
/// Publisher to read keyboard changes.
protocol KeyboardReadable {
var keyboardPublisher: AnyPublisher<Bool, Never> { get }
}
extension KeyboardReadable {
var keyboardPublisher: AnyPublisher<Bool, Never> {
Publishers.Merge(
NotificationCenter.default
.publisher(for: UIResponder.keyboardWillShowNotification)
.map { _ in true },
NotificationCenter.default
.publisher(for: UIResponder.keyboardWillHideNotification)
.map { _ in false }
)
.eraseToAnyPublisher()
}
}