iphone - 在 iPhone/iPad 中画一条线

标签 iphone ios opengl-es grid

我想开发一个用户可以画线的应用程序……但我不想画直线,而是想在用户画线时显示线。当用户从 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/

相关文章:

ios - Objective C 中的属性 - 丢失对象指针

ios - 总是将 self 的弱引用传递到 ARC 中的 block 中?

ios - 在 iOS 中使用 ONE channel 创建纹理

android - 通过 fragment 着色器将 YUV 转换为 RGB

iphone - 将 c-struct 放入 NSArray 的最佳方法是什么?

iphone - 游戏中心 实时比赛 - 有多少玩家?

ios - Ionic iOS 13.2 Bug,应用程序崩溃 - Kill() 返回意外错误

ios - 如何调试AudioServicesCreateSystemSoundID返回的错误-1500?

ios - 以编程方式连接到新的 View Controller

objective-c - 创建全向 ScrollView