对于iOS,将ViewController.xib自定义类更改为另一个类意味着什么?
使用XCode 4.3.2,如果添加了一个新类对于iOS,将ViewController.xib自定义类更改为另一个类意味着什么?,ios,cocoa-touch,uiviewcontroller,uikit,Ios,Cocoa Touch,Uiviewcontroller,Uikit,使用XCode 4.3.2,如果添加了一个新类TestView(添加了TestView.h和.m),并且它是UIView的子类,并且在drawRect方法中绘制内容。为什么要单击文件ViewController.xib,并且必须单击标识检查器,并且必须将自定义类从UIView更改为TestView 这样做意味着什么?如果这一点没有改变怎么办?TestView.m中的drawRect中的代码仍然可以轻松调用吗?或者,是否可以将TestView.m中的所有代码移动到ViewController.m?
TestView
(添加了TestView.h
和.m
),并且它是UIView
的子类,并且在drawRect
方法中绘制内容。为什么要单击文件ViewController.xib
,并且必须单击标识检查器,并且必须将自定义类从UIView
更改为TestView
这样做意味着什么?如果这一点没有改变怎么办?
TestView.m
中的drawRect
中的代码仍然可以轻松调用吗?或者,是否可以将TestView.m
中的所有代码移动到ViewController.m
?如果是这样,那怎么办呢,因为TestView
继承自UIView
,但是ViewController
继承自UIViewController
,ViewController
的drawRect
可能不会被调用。进行自定义绘图的常用方法是实现UIView子类并实现drawRect。使该图形可见的唯一方法是将自定义视图添加到由视图控制器控制但不由视图控制器绘制的视图层次中
xib描述了用户界面。在xib中添加UIView子类(如TestView)会导致为该类的实例分配一个附加到视图层次结构的实例。需要使用类名来知道要实例化(生成实例)的类
drawRect是一种UIView方法,当系统决定需要绘制部分或全部视图时,会调用该方法。应用程序不直接调用它。他们实现它并让系统调用它
ViewController不绘制任何内容,它们只管理视图的层次结构。因此,在视图控制器中实现drawRect毫无意义