跳至正文
首页 » 博客 » iOS vs Android – How To Draw – Part 1 – Intro

iOS vs Android – How To Draw – Part 1 – Intro

到目前为止,我的博客文章主要围绕着objective-c中的iOS编程。有一些关于C # 的帖子,但是他们更多的是关于从C # 到objective-c的切换。

然而,在过去的一年里,我一直在iOS和Android开发之间平均分配我的时间。

由于越来越多的移动应用程序开发人员同时支持这两个平台,我想为什么不博客两个平台!

这一系列的帖子将围绕在这两个平台上绘制各种各样的东西。你会惊喜地发现两者实际上非常相似!

第1部分-简介

第2部分-造型

第3部分-图纸

第四部分-文本

第一部分-简介

Android和iOS都是即时渲染引擎。因此,我们将在每个平台上绘制一个特殊的对象。

在iOS中,这称为CGContextRef,在Android中称为Canvas。

在这两种情况下,您都可以通过重写相应视图类中的相应绘制方法来获取对这些对象的引用。

iOS系统

@ interface CustomView : UIView

@ end

@ implementation CustomView

-(无效) drawRect 🙁 CGRect)rect
{
CGContextRef ctx = UIGraphicsGetCurrentContext();
}

@ end

Android系统

公共类CustomView扩展视图
{
public CustomView(Context ctx)
{
super(ctx);
}

@ Override
public void draw(Canvas canvas) {
super.draw(canvas);
}
}

所以现在我们有了我们的视图,我们已经创建了各自的绘图上下文。我将在接下来的部分中介绍实际的绘图。

还有一件事我想给你看。

你可以告诉iOS和Android,你的观点很脏,你需要重新绘制。一旦你这样做,相应的绘制方法将被框架自动调用。

iOS系统

[_customView setNeedsDisplay];

Android系统

_customView.invalidate();

这涵盖了介绍。

请继续关注下一篇文章,我将讨论样式和两个平台之间的差异。

史蒂芬·扎哈鲁克 (SteveZ)