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
new.initialHeaderMode = .createView
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
state = .idle
completion?(true)

View File

@ -26,6 +26,7 @@ class StatusCardView: UIView {
private var isGrayscale = false
private var hStack: UIStackView!
private var vStack: UIStackView!
private var titleLabel: UILabel!
private var descriptionLabel: UILabel!
private var domainLabel: UILabel!
@ -70,7 +71,7 @@ class StatusCardView: UIView {
domainLabel.numberOfLines = 1
domainLabel.textColor = .tintColor
let vStack = UIStackView(arrangedSubviews: [
vStack = UIStackView(arrangedSubviews: [
titleLabel,
descriptionLabel,
domainLabel,
@ -188,6 +189,13 @@ class StatusCardView: UIView {
} else {
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() {