項目里面要用到 Checkbox倦逐,iOS 原生是沒有的,本著不重復(fù)發(fā)明輪子的原則(其實是你懶)宫补,引入 M13Checkbox 來實現(xiàn)檬姥。
載入后是這樣的
大哥您這樣子有點出格啊,和我的審美不符粉怕,改一下吧健民。
改完了感覺好點吧
料想作者大哥應(yīng)該是用 PaintCode 之類的東西生成的代碼吧,坐標(biāo)值看暈贫贝。getDefaultShape 方法中先整體縮水點秉犹,然后縱向移動一點來調(diào)整蛉谜,偷懶直接把 y 都加個 h 就好了。代碼如下:
- (UIBezierPath *)getDefaultShape
{
// 縮小比例到 80%
CGFloat height = [self heightForCheckbox] * 0.8;
UIBezierPath* bezierPath = [UIBezierPath bezierPath];
// 縱向偏移量
CGFloat h = height * 0.3;
[bezierPath moveToPoint: CGPointMake((0.17625 * height), (0.368125 * height) + h)];
[bezierPath addCurveToPoint: CGPointMake((0.17625 * height), (0.46375 * height + h)) controlPoint1: CGPointMake((0.13125 * height), (0.418125 * height) + h) controlPoint2: CGPointMake((0.17625 * height), (0.46375 * height + h))];
[bezierPath addLineToPoint: CGPointMake((0.4 * height), (0.719375 * height + h))];
[bezierPath addCurveToPoint: CGPointMake((0.45375* height), (0.756875 * height + h)) controlPoint1: CGPointMake((0.4 * height), (0.719375 * height + h)) controlPoint2: CGPointMake((0.4275 * height), (0.756875 * height + h))];
[bezierPath addCurveToPoint: CGPointMake((0.505625 * height), (0.719375 * height + h)) controlPoint1: CGPointMake((0.480625 * height), (0.75625 * height + h)) controlPoint2: CGPointMake((0.505625 * height), (0.719375 * height + h))];
[bezierPath addLineToPoint: CGPointMake((0.978125* height), (0.145625* height + h))];
[bezierPath addCurveToPoint: CGPointMake((0.978125* height), (0.050625* height + h)) controlPoint1: CGPointMake((0.978125* height), (0.145625* height + h)) controlPoint2: CGPointMake((1.026875* height), (0.09375* height + h))];
[bezierPath addCurveToPoint: CGPointMake((0.885625* height), (0.050625* height + h)) controlPoint1: CGPointMake((0.929375* height), (0.006875* height + h)) controlPoint2: CGPointMake((0.885625* height), (0.050625* height + h))];
[bezierPath addLineToPoint: CGPointMake((0.45375* height), (0.590625* height + h))];
[bezierPath addLineToPoint: CGPointMake((0.26875* height), (0.368125 * height + h))];
[bezierPath addCurveToPoint: CGPointMake((0.17625 * height), (0.368125 * height + h)) controlPoint1: CGPointMake((0.26875* height), (0.368125 * height + h)) controlPoint2: CGPointMake((0.221875* height), (0.318125* height + h))];
[bezierPath closePath];
bezierPath.miterLimit = 0;
return bezierPath;
}