在单元格中绘制矩形正在改变某些矩形的边框颜色

时间:2014-07-07 01:39:48

标签: ios uitableview cgrect

我在一个单元格中绘制一个矩形有一个非常奇怪的问题,因为它正在绘制单元格,但是当它显示边框颜色有差异时,我已经搜索过并找不到任何可以详细说明了为什么会这样,这是一个显示问题http://screencast.com/t/wPS507Bg9e

的屏幕截图

这是我如何绘制矩形的代码

CGRect rect = CGRectMake(x, y, aRect.size.width, height);

CGContextMoveToPoint(context, rect.origin.x, rect.origin.y + radius);
CGContextAddLineToPoint(context, rect.origin.x, rect.origin.y + rect.size.height);
CGContextAddLineToPoint(context, rect.origin.x + rect.size.width, rect.origin.y + rect.size.height  );
CGContextAddLineToPoint(context, rect.origin.x + rect.size.width, rect.origin.y + radius);
CGContextAddArc(context, rect.origin.x + rect.size.width - radius, rect.origin.y + radius, radius, ((0.0f) / 180.0 * M_PI), ((-90.0f) / 180.0 * M_PI) , 1);
CGContextAddLineToPoint(context, rect.origin.x + radius, rect.origin.y);
CGContextAddArc(context, rect.origin.x + radius, rect.origin.y + radius, radius, ((-90.0f) / 180.0 * M_PI), ((180.0f) / 180.0 * M_PI), 1);    

CGContextClip(context);

关于这个问题的另一个奇怪的事情是它似乎只影响iPhone 5和5s,又称4“屏幕

颜色设置一次,并且在我设置之后不会被操纵,任何有关为什么会出现这种情况的帮助

1 个答案:

答案 0 :(得分:0)

颜色本身没有差异,但在矩形的实际位置(原点),尺寸(尺寸)中或两者兼而有之。

从你的屏幕截图中,它们自然是消除锯齿的。

这可能是因为:

  1. x,y,width& height不是所有四个离散值(整数)。
  2. 线条画在像素之间或拉伸屏幕外缓冲区(消除锯齿
  3. 使用构造不正确的视网膜屏幕外缓冲区进行绘制?请参阅this post