jmichas
jmichas

Reputation: 1159

How to maintain aspect ratio when resizing PaintCode generated view?

I'm using PaintCode to generate a stylekit for my xamarin.ios app. I have a simple logo that I pasted into PaintCode from illustrator. Everything looks fine, I have a frame and the generated draw method takes a rect.

At one point I had it resizing in my storyboard but it doesn't maintain the aspect ratio so obviously the logo looked wrong depending on the size of the UIView.

How can I add variables/expressions to paintcode so that the generated code automatically maintains the aspect ratio when the UIView is resized?

Thanks.

Upvotes: 7

Views: 1770

Answers (1)

Tricertops
Tricertops

Reputation: 8512

This is possible with Variables. Try creating two Variables like this:

  1. Numeric “Width” with a value for example 100.
  2. Expression “Height” with a value width / 2. This would maintain a ratio of 2:1, change as you need.

Then attach these two to your Frame object on Width and Height attributes. After that, the generated method will take only one numeric parameter – the Width:

- (void)drawMyCanvasWithWidth: (CGFloat)width;

Should look like on this image:

Preview

Then just pass your desired width and the height will be calculated automatically.


It would also be possible to maintain CGRect parameter of the method and to find fitting rectangle using Variables. I’ll add that if you ask.

Upvotes: 7

Related Questions