0

使用 XCode 4.3.2,如果添加了一个新类TestView(withTestView.h.madded),它是 的子类UIView,并且在方法内部绘制东西drawRect。为什么文件ViewController.xib被点击了,身份检查器也被点击了,而自定义类必须从 更改UIViewTestView

这样做是什么意思?如果没有改变怎么办—— indrawRect中的代码TestView.m仍然可以很容易地调用吗?或者,是否可以将所有代码TestView.m移至ViewController.m?如果是这样,那怎么做,因为TestView继承自UIView,但ViewController继承自UIViewController和可能不会被调用ViewControllerdrawRect

4

1 回答 1

1

自定义绘图的常用方法是实现一个 UIView 子类并实现 drawRect。使该绘图可见的唯一方法是将自定义视图添加到由视图控制器控制但不由视图控制器绘制的视图层次结构中。

xib 描述了用户界面。在 xib 中添加 UIView 子类(如 TestView)会导致该类的实例被分配一个附加到视图层次结构。需要类名才能知道要实例化哪个类(创建一个实例)。

drawRect 是一个 UIView 方法,当系统决定需要绘制部分或全部视图时调用该方法。应用程序不直接调用它。他们实现它并让系统调用它。

ViewControllers 不绘制任何东西,它们只管理视图的层次结构。所以在视图控制器中实现 drawRect 是没有意义的。

于 2012-04-19T04:08:17.207 回答