Fixed account item nodes heights

This commit is contained in:
Ilya Laktyushin 2019-07-10 07:10:06 +02:00
parent bcaf3f6569
commit 01f0c95efe
2 changed files with 33 additions and 17 deletions

View File

@ -144,7 +144,19 @@ class ItemListPeerActionItemNode: ListViewItemNode {
if currentItem?.theme !== item.theme { if currentItem?.theme !== item.theme {
updatedTheme = item.theme updatedTheme = item.theme
} }
let leftInset: CGFloat = 65.0 + params.leftInset let leftInset: CGFloat
let height: CGFloat
let verticalOffset: CGFloat
switch item.height {
case .generic:
height = 44.0
verticalOffset = -3.0
leftInset = 59.0 + params.leftInset
case .peerList:
height = 50.0
verticalOffset = 0.0
leftInset = 65.0 + params.leftInset
}
let editingOffset: CGFloat = (item.editing ? 38.0 : 0.0) let editingOffset: CGFloat = (item.editing ? 38.0 : 0.0)
@ -153,7 +165,7 @@ class ItemListPeerActionItemNode: ListViewItemNode {
let separatorHeight = UIScreenPixel let separatorHeight = UIScreenPixel
let insets = itemListNeighborsGroupedInsets(neighbors) let insets = itemListNeighborsGroupedInsets(neighbors)
let contentSize = CGSize(width: params.width, height: 50.0) let contentSize = CGSize(width: params.width, height: height)
let layout = ListViewItemNodeLayout(contentSize: contentSize, insets: insets) let layout = ListViewItemNodeLayout(contentSize: contentSize, insets: insets)
let layoutSize = layout.size let layoutSize = layout.size
@ -216,9 +228,9 @@ class ItemListPeerActionItemNode: ListViewItemNode {
strongSelf.topStripeNode.frame = CGRect(origin: CGPoint(x: 0.0, y: -min(insets.top, separatorHeight)), size: CGSize(width: layoutSize.width, height: separatorHeight)) strongSelf.topStripeNode.frame = CGRect(origin: CGPoint(x: 0.0, y: -min(insets.top, separatorHeight)), size: CGSize(width: layoutSize.width, height: separatorHeight))
transition.updateFrame(node: strongSelf.bottomStripeNode, frame: CGRect(origin: CGPoint(x: bottomStripeInset, y: contentSize.height + bottomStripeOffset), size: CGSize(width: layoutSize.width - bottomStripeInset, height: separatorHeight))) transition.updateFrame(node: strongSelf.bottomStripeNode, frame: CGRect(origin: CGPoint(x: bottomStripeInset, y: contentSize.height + bottomStripeOffset), size: CGSize(width: layoutSize.width - bottomStripeInset, height: separatorHeight)))
transition.updateFrame(node: strongSelf.titleNode, frame: CGRect(origin: CGPoint(x: leftInset + editingOffset, y: 14.0), size: titleLayout.size)) transition.updateFrame(node: strongSelf.titleNode, frame: CGRect(origin: CGPoint(x: leftInset + editingOffset, y: 14.0 + verticalOffset), size: titleLayout.size))
strongSelf.highlightedBackgroundNode.frame = CGRect(origin: CGPoint(x: 0.0, y: -UIScreenPixel), size: CGSize(width: params.width, height: 50.0 + UIScreenPixel + UIScreenPixel)) strongSelf.highlightedBackgroundNode.frame = CGRect(origin: CGPoint(x: 0.0, y: -UIScreenPixel), size: CGSize(width: params.width, height: height + UIScreenPixel + UIScreenPixel))
} }
}) })
} }

View File

@ -439,7 +439,22 @@ class ItemListPeerItemNode: ItemListRevealOptionsItemNode, ItemListItemNode {
break break
} }
let leftInset: CGFloat = 65.0 + params.leftInset let leftInset: CGFloat
let height: CGFloat
let verticalOffset: CGFloat
let avatarSize: CGFloat
switch item.height {
case .generic:
height = 44.0
verticalOffset = -3.0
avatarSize = 31.0
leftInset = 59.0 + params.leftInset
case .peerList:
height = 50.0
verticalOffset = 0.0
avatarSize = 40.0
leftInset = 65.0 + params.leftInset
}
var editableControlSizeAndApply: (CGSize, () -> ItemListEditableControlNode)? var editableControlSizeAndApply: (CGSize, () -> ItemListEditableControlNode)?
@ -497,17 +512,6 @@ class ItemListPeerItemNode: ItemListRevealOptionsItemNode, ItemListItemNode {
insets.bottom = 0.0 insets.bottom = 0.0
} }
let height: CGFloat
let verticalOffset: CGFloat
switch item.height {
case .generic:
height = 44.0
verticalOffset = -3.0
case .peerList:
height = 50.0
verticalOffset = 0.0
}
let contentSize = CGSize(width: params.width, height: height) let contentSize = CGSize(width: params.width, height: height)
let separatorHeight = UIScreenPixel let separatorHeight = UIScreenPixel
@ -725,7 +729,7 @@ class ItemListPeerItemNode: ItemListRevealOptionsItemNode, ItemListItemNode {
strongSelf.labelBadgeNode.frame = CGRect(origin: CGPoint(x: revealOffset + params.width - rightLabelInset - badgeWidth, y: labelFrame.minY - 1.0), size: CGSize(width: badgeWidth, height: badgeDiameter)) strongSelf.labelBadgeNode.frame = CGRect(origin: CGPoint(x: revealOffset + params.width - rightLabelInset - badgeWidth, y: labelFrame.minY - 1.0), size: CGSize(width: badgeWidth, height: badgeDiameter))
transition.updateFrame(node: strongSelf.avatarNode, frame: CGRect(origin: CGPoint(x: params.leftInset + revealOffset + editingOffset + 15.0, y: 5.0 + verticalOffset), size: CGSize(width: 40.0, height: 40.0))) transition.updateFrame(node: strongSelf.avatarNode, frame: CGRect(origin: CGPoint(x: params.leftInset + revealOffset + editingOffset + 15.0, y: floorToScreenPixels((height - avatarSize) / 2.0)), size: CGSize(width: avatarSize, height: avatarSize)))
if item.peer.id == item.account.peerId, case .threatSelfAsSaved = item.aliasHandling { if item.peer.id == item.account.peerId, case .threatSelfAsSaved = item.aliasHandling {
strongSelf.avatarNode.setPeer(account: item.account, theme: item.theme, peer: item.peer, overrideImage: .savedMessagesIcon, emptyColor: item.theme.list.mediaPlaceholderColor, synchronousLoad: synchronousLoad) strongSelf.avatarNode.setPeer(account: item.account, theme: item.theme, peer: item.peer, overrideImage: .savedMessagesIcon, emptyColor: item.theme.list.mediaPlaceholderColor, synchronousLoad: synchronousLoad)