我需要创建一个左边框倾斜的 UIView45度我想知道,有没有办法以编程方式实现这一目标?
做CA变换3D在这种情况下帮助我,因为它不是真正的“3D 旋转”?
Edit
这是一张图片,更多地解释了我所需的输出
如果您只想要没有内容的形状,那么您可以创建一个CAShapeLayer
并将其添加到您的视图层。 (事实上,您也可以使用此方法将内容放在那里,但您需要对其进行一些更改)。
CAShapeLayer *layer = [CAShapeLayer layer];
UIBezierPath *path = [UIBezierPath bezierPath];
[path moveToPoint:CGPointMake(0, 100)]; // bottom left corner
[path addLineToPoint:CGPointMake(100, 0)]; // top middle
[path addLineToPoint:CGPointMake(300, 0)]; // top right corner
[path addLineToPoint:CGPointMake(300, 100)]; // bottom right corner
[path closePath];
layer.path = path.CGPath;
layer.fillColor = [UIColor blackColor].CGColor;
layer.strokeColor = nil;
[theView.layer addSubLayer:layer];
这不需要使用drawRect
或任何东西。您必须根据所需的值更改坐标。
您还可以使用UIView
子类和覆盖drawRect
。这需要更多的工作,但UIBezierPath
将会几乎相同。
CALayer
非常强大并且被苹果公司大量使用。例如,Pages 中的编辑画布几乎完全使用CALayer
s.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)