我想开发一个用户可以画线的应用程序……但我不想画直线,而是想在用户画线时显示线。当用户从 A 点到达 B 点时,我想拉直这条线(如果用户需要的话)。
为了能够做到这一点,我想将我的 View 更改为从 0,0(左上角)开始到 320,480(对于 iPhone)和 768,1024(对于 iPad)(右下角)结束的网格。
对于这个问题,我的 A 点为 10,10,B 点为 100,100。
我的问题:
- 如何创建此网格?
- 如何创建这些点?
- 如何在不拉直的情况下绘制这条线?
- 如何画直线?
我的问题是我对创建“普通”UI 应用很熟悉。我不熟悉 Open-GL 等。
我希望有人能帮我解决这个问题。
最好的问候,
保罗·皮伦
最佳答案
您将 UIView
子类化并覆盖 - (void)drawRect:(CGRect)rect
方法。
在其中获取图形上下文:
CGContextRef context = UIGraphicsGetCurrentContext();
然后您使用它来进行 Core Graphics 调用,例如:
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextBeginPath (context);
for (k = 0; k < count; k += 2) {
CGContextMoveToPoint(context, s[k].x, s[k].y);
CGContextAddLineToPoint(context, s[k+1].x, s[k+1].y);
}
CGContextStrokePath(context);
查看 Quartz 2D 编程指南了解所有详细信息。
关于iphone - 在 iPhone/iPad 中画一条线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4783317/