我真的挖了IFTTT右下角按钮,如图所示(右下角)。
我尝试使用CGContext
和UIBezierPath
来匹配效果,但我根本不了解这一点。有没有人对如何实现这一点有一些想法/代码?
谢谢!
答案 0 :(得分:5)
首先使用CAShapeLayer创建遮罩
CAShapeLayer * shapeLayer = [CAShapeLayer layer];
//Use these to create path
CGMutablePathRef path = CGPathCreateMutable();
// CGPathMoveToPoint
// CGPathAddLines
shapeLayer.path = path;
然后设置按钮的掩码
yourbutton.layer.mask = shapeLayer
yourbutton.masksToBounds = YES;
视图示例
CAShapeLayer * shapeLayer = [CAShapeLayer layer];
CGMutablePathRef path = CGPathCreateMutable();
CGPathMoveToPoint(path, nil, 0, CGRectGetHeight(self.testview.frame));
CGPathAddLineToPoint(path, nil, CGRectGetWidth(self.testview.frame), 0);
CGPathAddLineToPoint(path, nil, CGRectGetWidth(self.testview.frame), CGRectGetHeight(self.testview.frame));
CGPathCloseSubpath(path);
shapeLayer.path = path;
self.testview.layer.masksToBounds = YES;
self.testview.layer.mask = shapeLayer;
屏幕截图:
答案 1 :(得分:0)
制作一个方形按钮,将三角形图像放入其中。那也不行吗?为了使幻觉更好,请为onclick()事件和ontouch()绘制单独的图像。禁用默认按钮和按钮单击动画以使其看起来真实。