gpt4 book ai didi

objective-c - iPad 上画线的奇怪问题

转载 作者:行者123 更新时间:2023-11-28 20:45:34 24 4
gpt4 key购买 nike

我的任务是在 UIView 单元格之间绘制一条高度为 2px 的分隔线。顶部 1px 高线的颜色应为#F1F1F1,底部 1px 高线的颜色应为#DDDDDD结果,在带有 Retina 显示屏的 iPhone 模拟器上,这两条线以不同的颜色清晰可见(#F1F1F1 和#DDDDDD 部分),在 iPad 模拟器上 - 线被扭曲,并且没有这种颜色的线。

用于绘制这条线的代码片段:

CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSaveGState(context);
CGContextSetLineWidth(context, 1.);

CGContextSetStrokeColor(context, CGColorGetComponents(
[[GlobalHelper colorFromHexRGB:@"#F1F1F1"] CGColor]) );

CGContextMoveToPoint(context, 0., line_y);
CGContextAddLineToPoint(context, rect.size.width, line_y );
CGContextStrokePath(context);
CGContextRestoreGState(context);
CGContextSaveGState(context);
CGContextSetLineWidth(context, 1.);

CGContextSetStrokeColor(context,
CGColorGetComponents([[GlobalHelper colorFromHexRGB:@"#DDDDDD"] CGColor]));

line_y += 1.;
CGContextMoveToPoint(context, 0., line_y);
CGContextAddLineToPoint(context, rect.size.width, line_y );
CGContextStrokePath(context);
CGContextRestoreGState(context);

对于 View 对象,用作画线的容器(这是 UITableViewCell 的子类)。我尝试更改参数“opaque”和“clearsContextBeforeDrawing”。同样的结果 - 在 iPhone Retina 上一切正常,对于 iPad - 线条失真。

关于导致此问题的原因以及如何解决它的任何想法?

最佳答案

一个想法:在整数坐标处绘制的 1 像素宽的线将变得模糊,因为线的一半将位于像素边界的每一侧。尝试将 0.5 添加到您的 line_y 坐标,看看是否能解决您的问题。

关于objective-c - iPad 上画线的奇怪问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6582540/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com