add event to ios
This commit is contained in:
@@ -10,8 +10,9 @@ public class BottomSheetModule: Module {
|
|||||||
|
|
||||||
View(SheetView.self) {
|
View(SheetView.self) {
|
||||||
Events([
|
Events([
|
||||||
|
"onAttemptDismiss",
|
||||||
|
"onSnapPointChange",
|
||||||
"onStateChange",
|
"onStateChange",
|
||||||
"onAttemptDismiss"
|
|
||||||
])
|
])
|
||||||
|
|
||||||
AsyncFunction("dismiss") { (view: SheetView) in
|
AsyncFunction("dismiss") { (view: SheetView) in
|
||||||
|
|||||||
@@ -7,8 +7,9 @@ class SheetView: ExpoView, UISheetPresentationControllerDelegate {
|
|||||||
private var innerView: UIView?
|
private var innerView: UIView?
|
||||||
|
|
||||||
// Events
|
// Events
|
||||||
private let onStateChange = EventDispatcher()
|
|
||||||
private let onAttemptDismiss = EventDispatcher()
|
private let onAttemptDismiss = EventDispatcher()
|
||||||
|
private let onSnapPointChange = EventDispatcher()
|
||||||
|
private let onStateChange = EventDispatcher()
|
||||||
|
|
||||||
// Open event firing
|
// Open event firing
|
||||||
private var isOpen: Bool = false {
|
private var isOpen: Bool = false {
|
||||||
@@ -158,4 +159,18 @@ class SheetView: ExpoView, UISheetPresentationControllerDelegate {
|
|||||||
func presentationControllerDidDismiss(_ presentationController: UIPresentationController) {
|
func presentationControllerDidDismiss(_ presentationController: UIPresentationController) {
|
||||||
self.destroy()
|
self.destroy()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func sheetPresentationControllerDidChangeSelectedDetentIdentifier(_ sheetPresentationController: UISheetPresentationController) {
|
||||||
|
let identifier = sheetPresentationController.selectedDetentIdentifier
|
||||||
|
|
||||||
|
if identifier == .large {
|
||||||
|
onSnapPointChange([
|
||||||
|
"snapPoint": 2,
|
||||||
|
])
|
||||||
|
} else {
|
||||||
|
onSnapPointChange([
|
||||||
|
"snapPoint": 1,
|
||||||
|
])
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user