mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-06-16 05:55:20 +00:00
Various fixes
This commit is contained in:
parent
c3051cbf90
commit
1f051f737a
@ -1523,6 +1523,7 @@ public class ChatListControllerImpl: TelegramBaseController, ChatListController
|
|||||||
if let self, let contextController {
|
if let self, let contextController {
|
||||||
if animateIn {
|
if animateIn {
|
||||||
contextController.statusBar.statusBarStyle = .Ignore
|
contextController.statusBar.statusBarStyle = .Ignore
|
||||||
|
contextController.animateDismissalIfNeeded()
|
||||||
self.present(contextController, in: .window(.root))
|
self.present(contextController, in: .window(.root))
|
||||||
return {
|
return {
|
||||||
contextController.dismissNow()
|
contextController.dismissNow()
|
||||||
|
@ -1370,6 +1370,16 @@ final class ContextControllerNode: ViewControllerTracingNode, ASScrollViewDelega
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func animateDismissalIfNeeded() {
|
||||||
|
guard let layout = self.validLayout, layout.metrics.isTablet else {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if let sourceContainer = self.sourceContainer {
|
||||||
|
sourceContainer.animateOut(result: .dismissWithoutContent, completion: {})
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func getActionsMinHeight() -> ContextController.ActionsHeight? {
|
func getActionsMinHeight() -> ContextController.ActionsHeight? {
|
||||||
if !self.actionsContainerNode.bounds.height.isZero {
|
if !self.actionsContainerNode.bounds.height.isZero {
|
||||||
return ContextController.ActionsHeight(
|
return ContextController.ActionsHeight(
|
||||||
@ -2789,6 +2799,10 @@ public final class ContextController: ViewController, StandalonePresentableContr
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public func animateDismissalIfNeeded() {
|
||||||
|
self.controllerNode.animateDismissalIfNeeded()
|
||||||
|
}
|
||||||
|
|
||||||
public func cancelReactionAnimation() {
|
public func cancelReactionAnimation() {
|
||||||
self.controllerNode.cancelReactionAnimation()
|
self.controllerNode.cancelReactionAnimation()
|
||||||
}
|
}
|
||||||
|
@ -289,13 +289,6 @@ public final class ChatUserInfoItemNode: ListViewItemNode, ASGestureRecognizerDe
|
|||||||
backgroundSize.height += verticalInset
|
backgroundSize.height += verticalInset
|
||||||
|
|
||||||
let constrainedWidth = params.width - (horizontalInset + horizontalContentInset) * 2.0
|
let constrainedWidth = params.width - (horizontalInset + horizontalContentInset) * 2.0
|
||||||
let (titleLayout, titleApply) = makeTitleLayout(TextNodeLayoutArguments(attributedString: NSAttributedString(string: item.peer.displayTitle(strings: item.presentationData.strings, displayOrder: item.presentationData.nameDisplayOrder) + item.peer.displayTitle(strings: item.presentationData.strings, displayOrder: item.presentationData.nameDisplayOrder) + item.peer.displayTitle(strings: item.presentationData.strings, displayOrder: item.presentationData.nameDisplayOrder), font: Font.semibold(15.0), textColor: primaryTextColor), backgroundColor: nil, maximumNumberOfLines: 2, truncationType: .end, constrainedSize: CGSize(width: constrainedWidth, height: CGFloat.greatestFiniteMagnitude), alignment: .center, cutout: nil, insets: UIEdgeInsets()))
|
|
||||||
backgroundSize.height += titleLayout.size.height
|
|
||||||
backgroundSize.height += verticalSpacing
|
|
||||||
|
|
||||||
let (subtitleLayout, subtitleApply) = makeSubtitleLayout(TextNodeLayoutArguments(attributedString: NSAttributedString(string: item.presentationData.strings.Chat_NonContactUser_Subtitle, font: Font.regular(13.0), textColor: subtitleColor), backgroundColor: nil, maximumNumberOfLines: 0, truncationType: .end, constrainedSize: CGSize(width: constrainedWidth, height: CGFloat.greatestFiniteMagnitude), alignment: .natural, cutout: nil, insets: UIEdgeInsets()))
|
|
||||||
backgroundSize.height += subtitleLayout.size.height
|
|
||||||
backgroundSize.height += verticalSpacing + paragraphSpacing
|
|
||||||
|
|
||||||
let infoConstrainedSize = CGSize(width: floor(constrainedWidth * 0.7), height: CGFloat.greatestFiniteMagnitude)
|
let infoConstrainedSize = CGSize(width: floor(constrainedWidth * 0.7), height: CGFloat.greatestFiniteMagnitude)
|
||||||
|
|
||||||
@ -389,7 +382,16 @@ public final class ChatUserInfoItemNode: ListViewItemNode, ASGestureRecognizerDe
|
|||||||
groupsValueLayoutAndApply = nil
|
groupsValueLayoutAndApply = nil
|
||||||
}
|
}
|
||||||
|
|
||||||
backgroundSize.width = horizontalContentInset * 2.0 + max(titleLayout.size.width, maxTitleWidth + attributeSpacing + maxValueWidth)
|
let titleConstrainedWidth = maxTitleWidth + attributeSpacing + maxValueWidth
|
||||||
|
let (titleLayout, titleApply) = makeTitleLayout(TextNodeLayoutArguments(attributedString: NSAttributedString(string: item.peer.displayTitle(strings: item.presentationData.strings, displayOrder: item.presentationData.nameDisplayOrder), font: Font.semibold(15.0), textColor: primaryTextColor), backgroundColor: nil, maximumNumberOfLines: 3, truncationType: .end, constrainedSize: CGSize(width: titleConstrainedWidth, height: CGFloat.greatestFiniteMagnitude), alignment: .center, cutout: nil, insets: UIEdgeInsets()))
|
||||||
|
backgroundSize.height += titleLayout.size.height
|
||||||
|
backgroundSize.height += verticalSpacing
|
||||||
|
|
||||||
|
let (subtitleLayout, subtitleApply) = makeSubtitleLayout(TextNodeLayoutArguments(attributedString: NSAttributedString(string: item.presentationData.strings.Chat_NonContactUser_Subtitle, font: Font.regular(13.0), textColor: subtitleColor), backgroundColor: nil, maximumNumberOfLines: 0, truncationType: .end, constrainedSize: CGSize(width: titleConstrainedWidth, height: CGFloat.greatestFiniteMagnitude), alignment: .natural, cutout: nil, insets: UIEdgeInsets()))
|
||||||
|
backgroundSize.height += subtitleLayout.size.height
|
||||||
|
backgroundSize.height += verticalSpacing + paragraphSpacing
|
||||||
|
|
||||||
|
backgroundSize.width = horizontalContentInset * 2.0 + maxTitleWidth + attributeSpacing + maxValueWidth
|
||||||
|
|
||||||
let disclaimerText: NSMutableAttributedString
|
let disclaimerText: NSMutableAttributedString
|
||||||
if let verification = item.verification {
|
if let verification = item.verification {
|
||||||
|
@ -7522,8 +7522,10 @@ public final class ChatControllerImpl: TelegramBaseController, ChatController, G
|
|||||||
self.view.frame = initialFrame
|
self.view.frame = initialFrame
|
||||||
self.containerLayoutUpdated(initialLayout, transition: .immediate)
|
self.containerLayoutUpdated(initialLayout, transition: .immediate)
|
||||||
self.containerLayoutUpdated(updatedLayout, transition: transition)
|
self.containerLayoutUpdated(updatedLayout, transition: transition)
|
||||||
|
if !updatedLayout.metrics.isTablet {
|
||||||
self.chatDisplayNode.historyNode.layer.animateScaleX(from: initialLayout.size.width / updatedLayout.size.width, to: 1.0, duration: 0.4, timingFunction: kCAMediaTimingFunctionSpring)
|
self.chatDisplayNode.historyNode.layer.animateScaleX(from: initialLayout.size.width / updatedLayout.size.width, to: 1.0, duration: 0.4, timingFunction: kCAMediaTimingFunctionSpring)
|
||||||
self.chatDisplayNode.historyNode.layer.animatePosition(from: CGPoint(x: (updatedLayout.size.width - initialLayout.size.width) / 2.0, y: 0.0), to: .zero, duration: 0.4, timingFunction: kCAMediaTimingFunctionSpring, additive: true)
|
self.chatDisplayNode.historyNode.layer.animatePosition(from: CGPoint(x: (updatedLayout.size.width - initialLayout.size.width) / 2.0, y: 0.0), to: .zero, duration: 0.4, timingFunction: kCAMediaTimingFunctionSpring, additive: true)
|
||||||
|
}
|
||||||
self.chatDisplayNode.inputPanelBackgroundNode.layer.removeAllAnimations()
|
self.chatDisplayNode.inputPanelBackgroundNode.layer.removeAllAnimations()
|
||||||
self.chatDisplayNode.inputPanelBackgroundNode.layer.animatePosition(from: CGPoint(x: 0.0, y: self.chatDisplayNode.inputPanelNode?.frame.height ?? 45.0), to: .zero, duration: 0.4, timingFunction: kCAMediaTimingFunctionSpring, additive: true)
|
self.chatDisplayNode.inputPanelBackgroundNode.layer.animatePosition(from: CGPoint(x: 0.0, y: self.chatDisplayNode.inputPanelNode?.frame.height ?? 45.0), to: .zero, duration: 0.4, timingFunction: kCAMediaTimingFunctionSpring, additive: true)
|
||||||
self.view.layer.animate(from: 14.0, to: updatedLayout.deviceMetrics.screenCornerRadius, keyPath: "cornerRadius", timingFunction: kCAMediaTimingFunctionSpring, duration: 0.4)
|
self.view.layer.animate(from: 14.0, to: updatedLayout.deviceMetrics.screenCornerRadius, keyPath: "cornerRadius", timingFunction: kCAMediaTimingFunctionSpring, duration: 0.4)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user