Fix action list item icon insets

This commit is contained in:
Ilya Laktyushin 2021-11-09 22:54:10 +04:00
parent 7a29cd490f
commit 434a30fd6a
2 changed files with 10 additions and 4 deletions

View File

@ -163,21 +163,25 @@ class ItemListPeerActionItemNode: ListViewItemNode {
updatedTheme = item.presentationData.theme
}
let leftInset: CGFloat
let iconOffset: CGFloat
let verticalInset: CGFloat
let verticalOffset: CGFloat
switch item.height {
case .generic:
iconOffset = 1.0
verticalInset = 11.0
verticalOffset = 0.0
leftInset = (item.icon == nil ? 16.0 : 59.0) + params.leftInset
case .peerList:
iconOffset = 3.0
verticalInset = 14.0
verticalOffset = 0.0
leftInset = 65.0 + params.leftInset
case .compactPeerList:
verticalInset = 14.0
iconOffset = 3.0
verticalInset = 11.0
verticalOffset = 0.0
leftInset = 59.0 + params.leftInset
leftInset = 65.0 + params.leftInset
}
let editingOffset: CGFloat = (item.editing ? 38.0 : 0.0)
@ -227,7 +231,7 @@ class ItemListPeerActionItemNode: ListViewItemNode {
strongSelf.iconNode.image = item.icon
if let image = item.icon {
transition.updateFrame(node: strongSelf.iconNode, frame: CGRect(origin: CGPoint(x: params.leftInset + editingOffset + floor((leftInset - params.leftInset - image.size.width) / 2.0) + 3.0, y: floor((contentSize.height - image.size.height) / 2.0)), size: image.size))
transition.updateFrame(node: strongSelf.iconNode, frame: CGRect(origin: CGPoint(x: params.leftInset + editingOffset + floor((leftInset - params.leftInset - image.size.width) / 2.0) + iconOffset, y: floor((contentSize.height - image.size.height) / 2.0)), size: image.size))
}
if strongSelf.backgroundNode.supernode == nil {

View File

@ -90,8 +90,10 @@ private final class PeerInfoScreenActionItemNode: PeerInfoScreenItemNode {
let sideInset: CGFloat = 16.0 + safeInsets.left
var leftInset = (item.icon == nil ? sideInset : sideInset + 29.0 + 16.0)
var iconInset = sideInset
if case .peerList = item.alignment {
leftInset += 5.0
iconInset += 5.0
}
let rightInset = sideInset
let separatorInset = item.icon == nil ? sideInset : leftInset - 1.0
@ -122,7 +124,7 @@ private final class PeerInfoScreenActionItemNode: PeerInfoScreenItemNode {
self.addSubnode(self.iconNode)
}
self.iconNode.image = generateTintedImage(image: icon, color: textColorValue)
let iconFrame = CGRect(origin: CGPoint(x: sideInset, y: floorToScreenPixels((height - icon.size.height) / 2.0)), size: icon.size)
let iconFrame = CGRect(origin: CGPoint(x: iconInset, y: floorToScreenPixels((height - icon.size.height) / 2.0)), size: icon.size)
transition.updateFrame(node: self.iconNode, frame: iconFrame)
} else if self.iconNode.supernode != nil {
self.iconNode.image = nil