Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/108.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
对于iOS,将ViewController.xib自定义类更改为另一个类意味着什么?_Ios_Cocoa Touch_Uiviewcontroller_Uikit - Fatal编程技术网

对于iOS,将ViewController.xib自定义类更改为另一个类意味着什么?

对于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?

使用XCode 4.3.2,如果添加了一个新类
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毫无意义