2 exit door eXit_door 于 2013.03.01 10:07 提问

从ViewController返回View

有一个函数返回显示的View,在使用下面的代码时候能看见View:

UIViewController* vcontroller= [storyboard instantiateViewControllerWithIdentifier:@"meterEnlarge"];
return vcontroller.view;

但是如果用下面的代码时:

ViewController_Meter_Enlarge_iPad* controller = [[ViewController_Meter_Enlarge_iPad alloc]init];
return controller.view;

就不能看见view了,由于需要修改属性,所以需要实现第二种方法。
怎么样从VC返回view?

3个回答

chenghxc
chenghxc   2013.03.01 16:44
已采纳

ViewController_Meter_Enlarge_iPad 的init函数是否加载了xib里面的内容,或者自己addsubview了?如果没有,返回的view就是空白的。
你可以试一下将init里面的内容改为

[NSBundle loadNibNamed:@"xib名字" owner:self];
if(self){
}
return self;
有不懂的可以再提问。

g989_1314125
g989_1314125   2013.03.01 16:38

你不创建一个viewcontroller,从NIB文件初始化它,这个view是无法设置的:

- (id)initWithNibName:(NSString *)nibName bundle:(NSBundle *)nibBundle

看一下链接给的说明

nokiaguy
nokiaguy   Rxr 2013.03.04 15:16

尽管xib已经与类绑定了,但并不是双向的,也就是说创建类的实例时如果步指定xib文件,view就是个空白的界面,什么都没有,所以在创建ViewController_Meter_Enlarge_iPad 对象时一定要指定xib 文件名

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!