0
我使用UIBezierpath创建了一个圆角矩形,这对我非常有用。只有一个问题,矩形的圆边具有一种混叠效果。 这里是一个图片使用RoundedRect对UIBezierpath进行抗锯齿
我创建了圆角的矩形这样的:
CGFloat radius = 12;
CGRect frame1 = CGRectMake(self.bounds.origin.x, self.bounds.origin.y+(self.bounds.size.height/heightFactor), self.bounds.size.width-shadowConst, self.bounds.size.height-(self.bounds.size.height/heightFactor)-shadowConst);
CGRect frame2 = CGRectMake(self.bounds.size.width-(self.bounds.size.width/widthFactor), self.bounds.origin.y+(self.bounds.size.height/(heightFactor*2)), (self.bounds.size.width/widthFactor)-shadowConst, (self.bounds.size.height/heightFactor));
UIBezierPath *result =
[UIBezierPath bezierPathWithRoundedRect: frame1 cornerRadius:radius];
[result appendPath:
[UIBezierPath bezierPathWithRoundedRect: frame2 cornerRadius:radius]];
[result fill];
[result addClip];
CGContextDrawLinearGradient(context, gradient2, CGPointMake(0, 0), CGPointMake(0, self.bounds.size.height), 0);
我也试图在没有颜色的情况下绘制它。同样的锯齿正在发生... 我不太明白你对常数的含义。 ShadowConst只是一个整数,其值为3,heightFactor也是一个整数常量。这怎么会导致别名? 编辑:我的猜测是它是绘图机制内部的东西。 – arnoapp 2012-07-28 17:21:32
抱歉,直到现在才看到您的评论。但看到你接受了它,所以我认为你基于我的提示找出了它:) – runmad 2012-08-08 22:27:15