调整PaintCode生成视图时如何保持宽高比?

jmi*_*has 7 ios xamarin paintcode

我正在使用PaintCode为我的xamarin.ios应用程序生成样式包.我有一个简单的徽标,我从插图画家粘贴到PaintCode.一切都很好,我有一个框架,生成的绘制方法采用矩形.

有一次,我在故事板中调整了大小,但它没有保持宽高比,所以很明显徽标看起来不对,取决于UIView的大小.

如何在paintcode中添加变量/表达式,以便生成的代码在调整UIView大小时自动保持宽高比?

谢谢.

Tri*_*ops 7

这可以通过变量实现.尝试创建两个变量,如下所示:

  1. 数值"宽度",例如值100.
  2. 带有值的表达式"高度"width / 2.这将保持2:1的比例,根据需要进行更改.

然后将这两个附加到Width和Height属性上的Frame对象.之后,生成的方法将只采用一个数字参数 - Width:

- (void)drawMyCanvasWithWidth: (CGFloat)width;
Run Code Online (Sandbox Code Playgroud)

应该看起来像这个图像:

预习

然后只需通过您想要的宽度,高度将自动计算.


还可以维护CGRect方法的参数并使用变量找到拟合矩形.如果你问,我会补充一下.

  • 好的,所以这个工作,我有一个Rect变量设置为画布的大小.然后我有一个使用常量的宽高比变量.然后我创建了一个表达式:`logoMarkFrame.height <(logoMarkFrame.width/logoMarkAspectRatio)?makeRect(0,0,logoMarkFrame.height*logoMarkAspectRatio,logoMarkFrame.height):makeRect(0,0,logoMarkFrame.width,logoMarkFrame.width/logoMarkAspectRatio)`然后将它连接到我画布中的帧,它工作正常.我认为下一步是当高度小于宽度/ ar时保持居中. (2认同)