gpt4 book ai didi

ios - UIBezierPath 中的厚度不均匀

转载 作者:行者123 更新时间:2023-12-01 22:35:21 25 4
gpt4 key购买 nike

我正在试验 UIBezierPath。我想做一个 GridView 。

NSInteger yAxisIncremental = 0;
NSInteger xAxisIncremental = 0;

UIBezierPath *path = [UIBezierPath bezierPath];
path.lineWidth = 1;

for (int x = 0; x <5; x++) {
[path moveToPoint:CGPointMake(xAxisIncremental, 0)];
[path addLineToPoint:CGPointMake(xAxisIncremental, self.frame.size.height)];
xAxisIncremental = xAxisIncremental + kWidthOfSquare;
}

for (int x = 0; x <=5; x++) {
[path moveToPoint:CGPointMake(0, yAxisIncremental)];
[path addLineToPoint:CGPointMake(self.frame.size.width, yAxisIncremental)];
yAxisIncremental = yAxisIncremental + kHeightOfSquare;
}

[[UIColor blackColor] setStroke];
[path stroke];

enter image description here

注意第一行很细,对应的行有点粗。我在代码中做错了什么还是预期的行为?

最佳答案

您正在绘制的第一条线从 0 开始。这意味着该线的一半宽度可能会在屏幕外或您的 View 之外。您可以从像素 0.5 而不是 0 开始解决此问题。

此外,如果您选择线宽为 1.0,这意味着在高 dpi 设备上,线将比屏幕上的 1 个实际像素厚。要绘制一条宽度为 1px 的线,您可以使用 0 的 lineWidth,如 UIBezierPath 文档中所述:

A width of 0 is interpreted as the thinnest line that can be rendered on a particular device.

关于ios - UIBezierPath 中的厚度不均匀,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32538247/

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