mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-06-15 21:45:19 +00:00
Various fixes
This commit is contained in:
parent
672d5ddbd1
commit
facbd5492c
@ -1523,6 +1523,7 @@ public class ChatListControllerImpl: TelegramBaseController, ChatListController
|
||||
if let self, let contextController {
|
||||
if animateIn {
|
||||
contextController.statusBar.statusBarStyle = .Ignore
|
||||
contextController.animateDismissalIfNeeded()
|
||||
self.present(contextController, in: .window(.root))
|
||||
return {
|
||||
contextController.dismissNow()
|
||||
|
@ -1365,6 +1365,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? {
|
||||
if !self.actionsContainerNode.bounds.height.isZero {
|
||||
return ContextController.ActionsHeight(
|
||||
@ -2784,6 +2794,10 @@ public final class ContextController: ViewController, StandalonePresentableContr
|
||||
}
|
||||
}
|
||||
|
||||
public func animateDismissalIfNeeded() {
|
||||
self.controllerNode.animateDismissalIfNeeded()
|
||||
}
|
||||
|
||||
public func cancelReactionAnimation() {
|
||||
self.controllerNode.cancelReactionAnimation()
|
||||
}
|
||||
|
@ -289,14 +289,7 @@ public final class ChatUserInfoItemNode: ListViewItemNode, ASGestureRecognizerDe
|
||||
backgroundSize.height += verticalInset
|
||||
|
||||
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)
|
||||
|
||||
var maxTitleWidth: CGFloat = 0.0
|
||||
@ -388,8 +381,17 @@ public final class ChatUserInfoItemNode: ListViewItemNode, ASGestureRecognizerDe
|
||||
groupsTitleLayoutAndApply = nil
|
||||
groupsValueLayoutAndApply = nil
|
||||
}
|
||||
|
||||
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 + max(titleLayout.size.width, maxTitleWidth + attributeSpacing + maxValueWidth)
|
||||
backgroundSize.width = horizontalContentInset * 2.0 + maxTitleWidth + attributeSpacing + maxValueWidth
|
||||
|
||||
let disclaimerText: NSMutableAttributedString
|
||||
if let verification = item.verification {
|
||||
|
@ -7522,8 +7522,10 @@ public final class ChatControllerImpl: TelegramBaseController, ChatController, G
|
||||
self.view.frame = initialFrame
|
||||
self.containerLayoutUpdated(initialLayout, transition: .immediate)
|
||||
self.containerLayoutUpdated(updatedLayout, transition: transition)
|
||||
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)
|
||||
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.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.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)
|
||||
|
Loading…
x
Reference in New Issue
Block a user