Compare commits

...

2 Commits

Author SHA1 Message Date
Shadowfacts 0c0180264e Fix no content message incorrectly appearing on profiles
Caused by a spurious appearance transition from embedChild
2023-02-25 15:30:30 -05:00
Shadowfacts 3d9477f0c9 Hide card description label when it doesn't fit
Closes #336
2023-02-25 15:23:13 -05:00
2 changed files with 18 additions and 2 deletions

View File

@ -161,7 +161,15 @@ class ProfileViewController: UIViewController, StateRestorableViewController {
// if old doesn't exist, we're selecting the initial view controller, so moving the header around isn't necessary // if old doesn't exist, we're selecting the initial view controller, so moving the header around isn't necessary
new.initialHeaderMode = .createView new.initialHeaderMode = .createView
new.view.translatesAutoresizingMaskIntoConstraints = false new.view.translatesAutoresizingMaskIntoConstraints = false
embedChild(new) addChild(new)
view.addSubview(new.view)
NSLayoutConstraint.activate([
new.view.leadingAnchor.constraint(equalTo: view.leadingAnchor),
new.view.trailingAnchor.constraint(equalTo: view.trailingAnchor),
new.view.topAnchor.constraint(equalTo: view.topAnchor),
new.view.bottomAnchor.constraint(equalTo: view.bottomAnchor),
])
new.didMove(toParent: self)
self.currentIndex = index self.currentIndex = index
state = .idle state = .idle
completion?(true) completion?(true)

View File

@ -26,6 +26,7 @@ class StatusCardView: UIView {
private var isGrayscale = false private var isGrayscale = false
private var hStack: UIStackView! private var hStack: UIStackView!
private var vStack: UIStackView!
private var titleLabel: UILabel! private var titleLabel: UILabel!
private var descriptionLabel: UILabel! private var descriptionLabel: UILabel!
private var domainLabel: UILabel! private var domainLabel: UILabel!
@ -70,7 +71,7 @@ class StatusCardView: UIView {
domainLabel.numberOfLines = 1 domainLabel.numberOfLines = 1
domainLabel.textColor = .tintColor domainLabel.textColor = .tintColor
let vStack = UIStackView(arrangedSubviews: [ vStack = UIStackView(arrangedSubviews: [
titleLabel, titleLabel,
descriptionLabel, descriptionLabel,
domainLabel, domainLabel,
@ -188,6 +189,13 @@ class StatusCardView: UIView {
} else { } else {
domainLabel.isHidden = true domainLabel.isHidden = true
} }
let titleHeight = titleLabel.isHidden ? 0 : titleLabel.sizeThatFits(CGSize(width: titleLabel.bounds.width, height: UIView.layoutFittingCompressedSize.height)).height
let descriptionHeight = descriptionLabel.isHidden ? 0 : descriptionLabel.sizeThatFits(CGSize(width: descriptionLabel.bounds.width, height: UIView.layoutFittingCompressedSize.height)).height
let domainLabel = domainLabel.isHidden ? 0 : domainLabel.sizeThatFits(CGSize(width: domainLabel.bounds.width, height: UIView.layoutFittingCompressedSize.height)).height
if titleHeight + descriptionHeight + domainLabel > vStack.bounds.height {
descriptionLabel.isHidden = true
}
} }
private func loadBlurHash() { private func loadBlurHash() {