Fixed visual issues

This commit is contained in:
Peter 2019-10-03 22:07:46 +04:00
parent 0377876462
commit 345627b549
6 changed files with 23 additions and 10 deletions

View File

@ -1234,11 +1234,7 @@ private final class ContextControllerNode: ViewControllerTracingNode, UIScrollVi
case let .controller(controller): case let .controller(controller):
let controllerPoint = self.view.convert(point, to: controller.controller.view) let controllerPoint = self.view.convert(point, to: controller.controller.view)
if let result = controller.controller.view.hitTest(controllerPoint, with: event) { if let result = controller.controller.view.hitTest(controllerPoint, with: event) {
if result is UIScrollView { return result
return result
} else if result is ListViewBackingView {
return result
}
} }
} }
} }

View File

@ -320,7 +320,9 @@ final class NavigationContainer: ASDisplayNode, UIGestureRecognizerDelegate {
if let top = self.state.top { if let top = self.state.top {
var updatedLayout = layout var updatedLayout = layout
if let topTransition = self.state.transition, top.value.view.disableAutomaticKeyboardHandling.isEmpty { if let topTransition = self.state.transition, top.value.view.disableAutomaticKeyboardHandling.isEmpty {
updatedLayout = updatedLayout.withUpdatedInputHeight(nil) if !viewTreeContainsFirstResponder(view: top.value.view) {
updatedLayout = updatedLayout.withUpdatedInputHeight(nil)
}
} }
self.applyLayout(layout: updatedLayout, to: top, isMaster: true, transition: transition) self.applyLayout(layout: updatedLayout, to: top, isMaster: true, transition: transition)
updatedStatusBarStyle = top.value.statusBar.statusBarStyle updatedStatusBarStyle = top.value.statusBar.statusBarStyle

View File

@ -18,6 +18,7 @@ final class NavigationModalContainer: ASDisplayNode, UIScrollViewDelegate, UIGes
var updateDismissProgress: ((CGFloat, ContainedViewLayoutTransition) -> Void)? var updateDismissProgress: ((CGFloat, ContainedViewLayoutTransition) -> Void)?
var interactivelyDismissed: ((Bool) -> Void)? var interactivelyDismissed: ((Bool) -> Void)?
private var isUpdatingState = false
private var ignoreScrolling = false private var ignoreScrolling = false
private var isDismissed = false private var isDismissed = false
private var isInteractiveDimissEnabled = true private var isInteractiveDimissEnabled = true
@ -63,7 +64,9 @@ final class NavigationModalContainer: ASDisplayNode, UIScrollViewDelegate, UIGes
} }
if !strongSelf.isReady { if !strongSelf.isReady {
strongSelf.isReady = true strongSelf.isReady = true
strongSelf.isReadyUpdated?() if !strongSelf.isUpdatingState {
strongSelf.isReadyUpdated?()
}
} }
} }
@ -282,6 +285,8 @@ final class NavigationModalContainer: ASDisplayNode, UIScrollViewDelegate, UIGes
return return
} }
self.isUpdatingState = true
self.validLayout = layout self.validLayout = layout
transition.updateFrame(node: self.dim, frame: CGRect(origin: CGPoint(), size: layout.size)) transition.updateFrame(node: self.dim, frame: CGRect(origin: CGPoint(), size: layout.size))
@ -347,6 +352,8 @@ final class NavigationModalContainer: ASDisplayNode, UIScrollViewDelegate, UIGes
transition.updateFrameAsPositionAndBounds(node: self.container, frame: containerFrame.offsetBy(dx: 0.0, dy: layout.size.height)) transition.updateFrameAsPositionAndBounds(node: self.container, frame: containerFrame.offsetBy(dx: 0.0, dy: layout.size.height))
transition.updateTransformScale(node: self.container, scale: containerScale) transition.updateTransformScale(node: self.container, scale: containerScale)
self.container.update(layout: containerLayout, canBeClosed: true, controllers: controllers, transition: transition) self.container.update(layout: containerLayout, canBeClosed: true, controllers: controllers, transition: transition)
self.isUpdatingState = false
} }
func animateIn(transition: ContainedViewLayoutTransition) { func animateIn(transition: ContainedViewLayoutTransition) {

View File

@ -12,6 +12,8 @@ final class NavigationOverlayContainer: ASDisplayNode {
private var validLayout: ContainerViewLayout? private var validLayout: ContainerViewLayout?
private var isUpdatingState: Bool = false
var keyboardViewManager: KeyboardViewManager? { var keyboardViewManager: KeyboardViewManager? {
didSet { didSet {
if self.keyboardViewManager !== oldValue { if self.keyboardViewManager !== oldValue {
@ -44,7 +46,9 @@ final class NavigationOverlayContainer: ASDisplayNode {
} }
if !strongSelf.isReady { if !strongSelf.isReady {
strongSelf.isReady = true strongSelf.isReady = true
strongSelf.isReadyUpdated?() if !strongSelf.isUpdatingState {
strongSelf.isReadyUpdated?()
}
} }
}) })
} }
@ -58,6 +62,8 @@ final class NavigationOverlayContainer: ASDisplayNode {
} }
func update(layout: ContainerViewLayout, transition: ContainedViewLayoutTransition) { func update(layout: ContainerViewLayout, transition: ContainedViewLayoutTransition) {
self.isUpdatingState = true
let updateLayout = self.validLayout != layout let updateLayout = self.validLayout != layout
self.validLayout = layout self.validLayout = layout
@ -66,6 +72,8 @@ final class NavigationOverlayContainer: ASDisplayNode {
transition.updateFrame(node: self.controller.displayNode, frame: CGRect(origin: CGPoint(), size: layout.size)) transition.updateFrame(node: self.controller.displayNode, frame: CGRect(origin: CGPoint(), size: layout.size))
self.controller.containerLayoutUpdated(layout, transition: transition) self.controller.containerLayoutUpdated(layout, transition: transition)
} }
self.isUpdatingState = false
} }
func transitionIn() { func transitionIn() {

View File

@ -43,7 +43,7 @@ public final class TabBarAccountSwitchController: ViewController {
super.init(navigationBarPresentationData: nil) super.init(navigationBarPresentationData: nil)
self.statusBar.statusBarStyle = .Hide self.statusBar.statusBarStyle = .Ignore
self.statusBar.ignoreInCall = true self.statusBar.ignoreInCall = true
self.lockOrientation = true self.lockOrientation = true

View File

@ -93,7 +93,7 @@ public final class WalletSplashScreen: ViewController {
guard let strongSelf = self else { guard let strongSelf = self else {
return return
} }
strongSelf.sendGrams(walletInfo: walletInfo, decryptedSecret: decryptedSecret, address: address, amount: amount, textMessage: textMessage, forceIfDestinationNotInitialized: false, randomId: randomId, serverSalt: serverSalt) strongSelf.sendGrams(walletInfo: walletInfo, decryptedSecret: decryptedSecret, address: address, amount: amount, textMessage: textMessage, forceIfDestinationNotInitialized: true, randomId: randomId, serverSalt: serverSalt)
}, error: { [weak self] error in }, error: { [weak self] error in
guard let strongSelf = self else { guard let strongSelf = self else {
return return