1.xib主要是用来描述view的,如果是用来描述控制器的view要选择 空的xib,然后执行后面的三步:
a.在空的xib创建完成后在里面拖入一个view,然后给当前的View 设定File.owner
b.右键点击将View 和当前view连线
c.加载的时候要使用 下面的方法记载
[[oneViewController alloc]initWithNibName:@"xib文件的名字" bundle:nil]
2.xib如果用来描述自定义的View,选择的时候一定要注意选择,创建xib一定要选择view,不要选择Empty这个选项来创建View.创建后注意要做一件事,要将view 的class进行设置为你要描述的view 才能连线,否则不能连线.特别注意的是一定不要设置File.owner 的属性.
3.如果是一定选择Empty来创建View,需要注意的是一定不要设置File.owner,一旦设置相当于当前view为当前的子控件,需要操作的还是设置当前view 的class.然后再可以将当前控件的和interface 里面的东西连线了.
4.常见的报错
Loaded nib but the 'view' outlet was not set
主要是当前控制器的View没有和当前xib里面的view 连线
解决办法:点击fileown将控件的view与当前的view连线
Load XIB this class is not key value coding-compliant for the key
1.错误原因是因为你设置了File's Owner的class,
当你使用xib描述View的时候特别的注意点是要设置的是View 的class类型而不是设置File's Owner的class.
如果你设置了File's Owner就变成当前的xib所描述的view变成了File's Owner的子控件,
实际上应该是XIB就是描述当前类,所以只需要设置xib中View的类型即可.
连线删除了,但xib中的没有删除.连线可能来自两部分:
1.点击File's Owner右建有一部分,查看是有黄色!符号的,然后删除
2.点击View右建也可能有一部分,然后有黄色!符号的,然后删除
网友评论