mirror of
https://gitlab.opencode.de/bwi/bundesmessenger/clients/bundesmessenger-ios.git
synced 2026-04-29 12:46:58 +02:00
Pill size adjustment
This commit is contained in:
@@ -63,6 +63,8 @@ class RoomInfoBasicView: UIView {
|
||||
@IBOutlet private weak var securityTitleLabel: UILabel!
|
||||
@IBOutlet private weak var securityInformationLabel: UILabel!
|
||||
|
||||
private var pillImageView: UIImageView?
|
||||
|
||||
/// Block to be invoked when topic text view changes its content size.
|
||||
var onTopicSizeChange: ((RoomInfoBasicView) -> Void)?
|
||||
|
||||
@@ -108,14 +110,32 @@ class RoomInfoBasicView: UIView {
|
||||
|
||||
// bwi: 5216 - federation
|
||||
if BWIBuildSettings.shared.isFederationEnabled && viewData.isFederated {
|
||||
badgeImageView.image = federationBadgeImage()
|
||||
// add imageview for the pill if it doesn't exist
|
||||
if pillImageView == nil {
|
||||
// because of svg we use fixed values here for the raw image size
|
||||
let pillImageWidth: CGFloat = 23.0
|
||||
let pillImageHeight: CGFloat = 18.0
|
||||
let pillBorderSize: CGFloat = 2.57
|
||||
|
||||
let avatarSize = avatarImageView.frame.size.height
|
||||
let pillHeight: CGFloat = avatarSize * 0.34 // 34% relative size by design rule
|
||||
let pillWidth: CGFloat = pillHeight / pillImageHeight * pillImageWidth
|
||||
let scaledBorderSize: CGFloat = pillBorderSize * pillHeight / pillImageHeight
|
||||
let frame = CGRect(x: avatarImageView.frame.origin.x + avatarSize - pillWidth + scaledBorderSize, y: avatarImageView.frame.origin.y + avatarSize - pillHeight, width: pillWidth, height: pillHeight)
|
||||
let imageView = UIImageView(frame: frame)
|
||||
pillImageView = imageView
|
||||
pillImageView?.contentMode = .scaleAspectFit
|
||||
avatarContainerView.addSubview(imageView)
|
||||
}
|
||||
|
||||
pillImageView?.image = federationBadgeImage()
|
||||
roomNameLabel.numberOfLines = 2
|
||||
roomNameLabel.attributedText = roomNameWithFederationPill(roomDisplayName: viewData.roomDisplayName, font: roomNameLabel.font)
|
||||
} else {
|
||||
badgeImageView.image = viewData.encryptionImage
|
||||
roomNameLabel.text = viewData.roomDisplayName
|
||||
}
|
||||
|
||||
badgeImageView.image = nil
|
||||
roomAddressLabel.text = viewData.mainRoomAlias
|
||||
roomAddressLabel.isHidden = roomAddressLabel.text?.isEmpty ?? true
|
||||
roomTopicTextView.text = viewData.roomTopic
|
||||
@@ -161,7 +181,7 @@ class RoomInfoBasicView: UIView {
|
||||
// append the pill to the room name
|
||||
if image.size.width > 0.0 && image.size.height > 0.0 {
|
||||
let aspectRatio = image.size.width / image.size.height
|
||||
let pillHeight = 20.0
|
||||
let pillHeight: CGFloat = 24.0
|
||||
let offset = 0.5 * (font.capHeight - pillHeight)
|
||||
|
||||
let attachment = NSTextAttachment()
|
||||
|
||||
Reference in New Issue
Block a user