Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective-C中是否有像Java这样的自定义组件?_Java_Objective C_Swing_Components - Fatal编程技术网

Objective-C中是否有像Java这样的自定义组件?

Objective-C中是否有像Java这样的自定义组件?,java,objective-c,swing,components,Java,Objective C,Swing,Components,在java中,我知道您可以扩展JComponent并覆盖paintComponent(图形),如下所示: public class MyComp extends JComponent { public void paintComponent(Graphics g) { super.paintComponent(g); g.drawRect(0, 0, 5, 5); } } 我想知道在Objective-C中是否有类似的方法。是的,您可以创建一个从

在java中,我知道您可以扩展JComponent并覆盖paintComponent(图形),如下所示:

public class MyComp extends JComponent {
    public void paintComponent(Graphics g) {
        super.paintComponent(g);
        g.drawRect(0, 0, 5, 5);
    }
}

我想知道在Objective-C中是否有类似的方法。

是的,您可以创建一个从
UIView
扩展的类,并覆盖它的
drawRect
方法,该方法将允许执行自定义绘制,但随后将进入核心图形层

您也可以使用
CALayer
,但我对此不太熟悉,只在将内容添加到
UIView
时使用过,但据我所知,它具有一些内置的动画功能

你可以看看


例如…

如果你在编写应用程序,没有太多理由使用Objective-C;大多数情况下,在Objective-C中,您将通过调用对象上的方法来绘制对象或使其隐藏/取消隐藏;实际上,没有太多的必要覆盖像“paintComponent”这样的方法。此外,如果你正在制作一个游戏,我建议你使用SpriteKit,它可以自动完成很多事情,比如每帧更新一次图形,还有很多预包装好的东西,比如物理包