Figma Support Forum

(Issue) Keep the scaling of a nested component when swapping it

Hello beautiful people.

Basically I have a component instance which I resized inside another component. When I try to swap the nested component, Figma doesn’t keep the scaling and brings it back to 100% of its size. This happens only with nested components.

Is this a bug? Any idea of how to fix this?

4 Likes

I think this is a limitation, but people have already started posting about it on several slack channels and here too.

Yes! This is why we need scale as an actual property control. the current Scale tool isn’t actually a true scale. Scale as a property

@Gleb this is a perfect use-case for it.

1 Like

Yeah, I use a plug-in called “scale”. It’s so basic I wonder why it’s not a native feature.

+1. We want this. IMO feels like a buggy implementation of “scaling”

1 Like

100%

Guess I´m struggeling with the same issue.

There are so many plugins called scale, skale oder scale whatever, can you let us know which one it is? <3

This one!

So you can scale at least something in height or width or in percent. but it does not what I want. The idea is that after changing an asset the list entry gets the height of the new entry. actual the old entry pretends the height. so if I switch an entry it the list entry should change to the height the new entry actually has. And I dont want to change it manually as I have a huge bunch of lists where this should happen … but thanks anyways <3

yeah this is not something that a plug-in can solve I’m afraid. I noticed that this issue happens only with nested components, so if you find a way to avoid nesting comps the scaling should stay in place.

I’m having this issue as well, I was able to solve it in the case of simple paths like icons, by setting every layer to ‘Scale’. But it doesn’t work with text layers.

It automagically fixes itself as soon as you detach the component or simply select the layer in the main component (if it’s a Local Component), so it’s definitely a bug. :bug:

(I found this thread from another one and thought I’d post my solution here as well)

I’ve had some similar issues with swapping variants. I was able to resolve it by adding autolayout to all my variants. I don’t know why autolayout didn’t carry over when I made the components in the first place, but adding it back fixed it.

It’s not quite the same thing as what you’re talking about here, but I figure checking autolayout is worth a shot!

Same issue here, we (the entire design team) use a lot of components containing illustrations/icons from a separate library. With this ‘bug/issue’ we are forced to flatten all shapes (rounded corners), text, and outline all the strokes. Which is not really ideal if we want to edit the illustrations (or icons) later.

@Figma Can you please fix this?

How it should work;
If a nested component is scaled (not resized) in its parent component, the scale should be preserved when swapping the nested component. (including scale of rounded corners, line-weight and text size)

2 Likes

@Joris_Hoogendoorn Unfortunately it’s not a bug because their ‘scale’ tool isn’t really a scale tool. It’s not a scale property. It’s a normal resize tool that just uses ‘scale’ and a measurement key. I have a feature request for having scale as a property. This would solve all of thissss. I’d appreciate a vote! Scale as a property

You can switch between ‘scale’ and ‘resize’ with K key on your keyboard, right? So, it should be a real ‘scale’ tool, then… I guess.

The fact that scale (also stroke weight/thickness) is not preserved when swapping instances is a real pain… Every time when you want to change an icon, you would have to reconfigure the stroke property and tweak it one by one. :man_facepalming: