From 34e6316e872e4e16ed9be54303284e8fdf3fe06c Mon Sep 17 00:00:00 2001 From: Niels Andriesse Date: Thu, 23 Jan 2020 12:27:58 +1100 Subject: [PATCH] Fix iOS 12 layout issue --- .../SessionWhite.imageset/Contents.json | 2 +- .../SESSION_ICON_WHT.pdf | Bin 1802 -> 0 bytes .../SessionWhite.imageset/SessionWhite.pdf | Bin 0 -> 15038 bytes .../Loki/Components/ConversationCell.swift | 49 +++++++++++++----- ...ModalActivityIndicatorViewController.swift | 4 +- 5 files changed, 38 insertions(+), 17 deletions(-) delete mode 100644 Signal/Images.xcassets/Loki V2/SessionWhite.imageset/SESSION_ICON_WHT.pdf create mode 100644 Signal/Images.xcassets/Loki V2/SessionWhite.imageset/SessionWhite.pdf diff --git a/Signal/Images.xcassets/Loki V2/SessionWhite.imageset/Contents.json b/Signal/Images.xcassets/Loki V2/SessionWhite.imageset/Contents.json index 77e922959..2f6d92e97 100644 --- a/Signal/Images.xcassets/Loki V2/SessionWhite.imageset/Contents.json +++ b/Signal/Images.xcassets/Loki V2/SessionWhite.imageset/Contents.json @@ -2,7 +2,7 @@ "images" : [ { "idiom" : "universal", - "filename" : "SESSION_ICON_WHT.pdf" + "filename" : "SessionWhite.pdf" } ], "info" : { diff --git a/Signal/Images.xcassets/Loki V2/SessionWhite.imageset/SESSION_ICON_WHT.pdf b/Signal/Images.xcassets/Loki V2/SessionWhite.imageset/SESSION_ICON_WHT.pdf deleted file mode 100644 index f448b1dcfafd59d690847d65157c86d3213da9f8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1802 zcmb7EeNYr-97fWVMJkkYDo1_GD5zlfy}jGx5V5%P5P`Vv@FNpr*;|fd&f8;e4?(7q z85KxDbR78u3P=PZKO)94W=JViOejB+NktpRFh}zX1wYcP_g(Jb6#wa+o!xz(_v88f zp7;Gdp+>zS0!FHc(7o4oKOj_q0zyVM5fcN*B;H|_vVa;vCISFJ8f6V@4Rb7jYC>o8EUK^Sk6moKdV(_i* zkma{p{R?043$PI93EpAxtVe&C8Pnk}B2?3O7t0+M6V8-<1jhTr7Ul#FbiljJ#h3}A3lcnm!r4&?|3AXD?5JRps%l?R~!%A7`4 z))~iM`Z?Um)LLT@KK@^}VI+9{&tyT?anu(+-HKn9Mn!HvgI3%>#1+cusTE>fl z+vyYjFr$omGcuz%MAqSQVrDMi3nu_cbo1Vx4$ac@xi*eB#m8aLldp+)32u?&T>xum z^2rmYjy3f;;;50Zo_54o-Qn;&B4QfS?9Py6l?;NoQbyu@#ZVy?G@kTFW6^kH8M!mO zIdOLgoP6$5h_-NG-Y+o9|K*a-3(bDl$@i~oF6aCIoN>0NC#Uu3eYNGzjk~=MZ6BVhf7I@qGP^JY*P(SOu1z4)i5nGcSvekHJX zZTs^X8%r1LY@iyKcD>=eb2I0e^}*?9v}HckY+{N3E3Om0z zp=jxwQT4;Zp})C^$pZ`H`^LT6{pThHSHE?_wM*IO+BXl5UpB=~TyD@;Ts<_syzmU6 zjlEx7<@fpR_ew%)19E58kQ1ao40AWz&5cEKv|gl)>@F{aTZ z^F%(Apa6sfHPQg1R?}*b2|O57GDvCMfWwPXN(MQ^6Bv97MnPoNPtH?~#Z=lc91v>9 za6qU*?)dnAkfxD)J%OoIKJz4zwb^-5HZ!wrHIMVf?qm`KbYxh!VY^LmWC{Quo9u)x Ti4`STAgI!6h|tjaDF)&{QHM%l diff --git a/Signal/Images.xcassets/Loki V2/SessionWhite.imageset/SessionWhite.pdf b/Signal/Images.xcassets/Loki V2/SessionWhite.imageset/SessionWhite.pdf new file mode 100644 index 0000000000000000000000000000000000000000..62b73489be9b493f74486dbd676458d23c05ce2b GIT binary patch literal 15038 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 X3JtZt9L&Pb!Oo08K_Q_eiSWMwxd1$z literal 0 HcmV?d00001 diff --git a/Signal/src/Loki/Components/ConversationCell.swift b/Signal/src/Loki/Components/ConversationCell.swift index 93dbf73b3..a7028ccc3 100644 --- a/Signal/src/Loki/Components/ConversationCell.swift +++ b/Signal/src/Loki/Components/ConversationCell.swift @@ -40,8 +40,6 @@ final class ConversationCell : UITableViewCell { private lazy var typingIndicatorView = TypingIndicatorView() - private lazy var bottomLabelStackViewSpacer = UIView.hStretchingSpacer() - private lazy var statusIndicatorView: UIImageView = { let result = UIImageView() result.contentMode = .center @@ -68,50 +66,73 @@ final class ConversationCell : UITableViewCell { self.selectedBackgroundView = selectedBackgroundView // Set up the unread messages indicator view unreadMessagesIndicatorView.set(.width, to: Values.accentLineThickness) + unreadMessagesIndicatorView.set(.height, to: 72) // Set up the profile picture view let profilePictureViewSize = Values.mediumProfilePictureSize profilePictureView.set(.width, to: profilePictureViewSize) profilePictureView.set(.height, to: profilePictureViewSize) profilePictureView.size = profilePictureViewSize // Set up the label stack view - let topLabelStackView = UIStackView(arrangedSubviews: [ displayNameLabel, UIView.hStretchingSpacer(), timestampLabel ]) + let topLabelSpacer = UIView.hStretchingSpacer() + let topLabelStackView = UIStackView(arrangedSubviews: [ displayNameLabel, topLabelSpacer, timestampLabel ]) topLabelStackView.axis = .horizontal + topLabelStackView.alignment = .center topLabelStackView.spacing = Values.smallSpacing / 2 // Effectively Values.smallSpacing because there'll be spacing before and after the invisible spacer let snippetLabelContainer = UIView() snippetLabelContainer.addSubview(snippetLabel) snippetLabelContainer.addSubview(typingIndicatorView) - let bottomLabelStackView = UIStackView(arrangedSubviews: [ snippetLabelContainer, bottomLabelStackViewSpacer, statusIndicatorView ]) + let bottomLabelSpacer = UIView.hStretchingSpacer() + let bottomLabelStackView = UIStackView(arrangedSubviews: [ snippetLabelContainer, bottomLabelSpacer, statusIndicatorView ]) bottomLabelStackView.axis = .horizontal + bottomLabelStackView.alignment = .center bottomLabelStackView.spacing = Values.smallSpacing / 2 // Effectively Values.smallSpacing because there'll be spacing before and after the invisible spacer - let labelStackView = UIStackView(arrangedSubviews: [ UIView.spacer(withHeight: Values.smallSpacing), topLabelStackView, bottomLabelStackView, UIView.spacer(withHeight: Values.smallSpacing) ]) - labelStackView.axis = .vertical - labelStackView.spacing = Values.smallSpacing + let labelContainerView = UIView() + labelContainerView.addSubview(topLabelStackView) + labelContainerView.addSubview(bottomLabelStackView) // Set up the main stack view - let stackView = UIStackView(arrangedSubviews: [ unreadMessagesIndicatorView, profilePictureView, labelStackView ]) + let stackView = UIStackView(arrangedSubviews: [ unreadMessagesIndicatorView, profilePictureView, labelContainerView ]) stackView.axis = .horizontal stackView.alignment = .center stackView.spacing = Values.mediumSpacing contentView.addSubview(stackView) // Set up the constraints - unreadMessagesIndicatorView.pin(.top, to: .top, of: stackView) - unreadMessagesIndicatorView.pin(.bottom, to: .bottom, of: stackView) + unreadMessagesIndicatorView.pin(.top, to: .top, of: contentView) + unreadMessagesIndicatorView.pin(.bottom, to: .bottom, of: contentView) + // The three lines below are part of a workaround for a weird layout bug + topLabelStackView.set(.width, to: UIScreen.main.bounds.width - Values.accentLineThickness - Values.mediumSpacing - profilePictureViewSize - Values.mediumSpacing - Values.mediumSpacing) + topLabelStackView.set(.height, to: 18) + topLabelSpacer.set(.height, to: 18) timestampLabel.setContentCompressionResistancePriority(.required, for: NSLayoutConstraint.Axis.horizontal) + // The three lines below are part of a workaround for a weird layout bug + bottomLabelStackView.set(.width, to: UIScreen.main.bounds.width - Values.accentLineThickness - Values.mediumSpacing - profilePictureViewSize - Values.mediumSpacing - Values.mediumSpacing) + bottomLabelStackView.set(.height, to: 16) + bottomLabelSpacer.set(.height, to: 16) statusIndicatorView.set(.width, to: Values.conversationCellStatusIndicatorSize) statusIndicatorView.set(.height, to: Values.conversationCellStatusIndicatorSize) snippetLabel.pin(to: snippetLabelContainer) typingIndicatorView.pin(.leading, to: .leading, of: snippetLabelContainer) typingIndicatorView.centerYAnchor.constraint(equalTo: snippetLabel.centerYAnchor).isActive = true + // Not using a stack view for this is part of a workaround for a weird layout bug + topLabelStackView.pin(.leading, to: .leading, of: labelContainerView) + topLabelStackView.pin(.top, to: .top, of: labelContainerView, withInset: Values.mediumSpacing) + topLabelStackView.pin(.trailing, to: .trailing, of: labelContainerView) + bottomLabelStackView.pin(.leading, to: .leading, of: labelContainerView) + bottomLabelStackView.pin(.top, to: .bottom, of: topLabelStackView, withInset: Values.smallSpacing) + labelContainerView.pin(.bottom, to: .bottom, of: bottomLabelStackView, withInset: Values.mediumSpacing) + // The two lines below are part of a workaround for a weird layout bug + labelContainerView.set(.width, to: UIScreen.main.bounds.width - Values.accentLineThickness - Values.mediumSpacing - profilePictureViewSize - Values.mediumSpacing - Values.mediumSpacing) + labelContainerView.set(.height, to: 72) stackView.pin(.leading, to: .leading, of: contentView) stackView.pin(.top, to: .top, of: contentView) - contentView.pin(.trailing, to: .trailing, of: stackView, withInset: Values.mediumSpacing) - contentView.pin(.bottom, to: .bottom, of: stackView) - stackView.set(.width, to: UIScreen.main.bounds.width - Values.mediumSpacing) // Workaround for weird constraints issue + // The two lines below are part of a workaround for a weird layout bug + stackView.set(.width, to: UIScreen.main.bounds.width - Values.mediumSpacing) + stackView.set(.height, to: 72) } // MARK: Updating private func update() { LokiAPI.populateUserHexEncodedPublicKeyCacheIfNeeded(for: threadViewModel.threadRecord.uniqueId!) // FIXME: This is a terrible place to do this - unreadMessagesIndicatorView.alpha = threadViewModel.hasUnreadMessages ? 1 : 0 + unreadMessagesIndicatorView.alpha = threadViewModel.hasUnreadMessages ? 1 : 0.0001 // Setting the alpha to exactly 0 causes an issue on iOS 12 if threadViewModel.isGroupThread { let users = LokiAPI.userHexEncodedPublicKeyCache[threadViewModel.threadRecord.uniqueId!] ?? [] let randomUsers = users.sorted().prefix(2) // Sort to provide a level of stability diff --git a/SignalMessaging/ViewControllers/ModalActivityIndicatorViewController.swift b/SignalMessaging/ViewControllers/ModalActivityIndicatorViewController.swift index 07ec2bcbe..66c03c8fe 100644 --- a/SignalMessaging/ViewControllers/ModalActivityIndicatorViewController.swift +++ b/SignalMessaging/ViewControllers/ModalActivityIndicatorViewController.swift @@ -70,8 +70,8 @@ public class ModalActivityIndicatorViewController: OWSViewController { super.loadView() self.view.backgroundColor = (Theme.isDarkThemeEnabled - ? UIColor(white: 0.35, alpha: 0.35) - : UIColor(white: 0, alpha: 0.25)) + ? UIColor(white: 0, alpha: 0.5) + : UIColor(white: 0, alpha: 0.5)) self.view.isOpaque = false let activityIndicator = UIActivityIndicatorView(style: .whiteLarge)