0
UIBezierpath를 사용하여 둥근 모양의 rect를 만들었습니다. rect의 둥근 모서리에는 일종의 앨리어싱 효과가있는 문제가 하나뿐입니다. 나는이 두 가지 문제 중 하나가 될 수 있습니다 볼 수 있듯이 지금까지UIBezierpath와 RoundedRect의 앤티 앨리어싱
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
죄송합니다. 지금까지 귀하의 의견을 보지 못했습니다. 하지만 당신이 그것을 받아 본, 그래서 당신이 내 팁을 기반으로 알아 냈다고 생각해. :) – runmad