Iphone 将uiview添加到uiviewcontroller

Iphone 将uiview添加到uiviewcontroller,iphone,uiview,uiviewcontroller,interface-builder,Iphone,Uiview,Uiviewcontroller,Interface Builder,我想添加一个50x150 uiview,我将使用它作为菜单,我想将它覆盖在我的uiviewcontroller上。到目前为止,我所做的是在UIViewController类文件中声明一个UIView IBOutlet,在该UIViewController xib文件中,我从库中拖出一个UIView并相应地将其连接起来。问题是它在尝试呼叫时未显示: menu = [[UIView alloc] initWithFrame:CGRectMake(10,10,50,150)]; //[self.vie

我想添加一个50x150 uiview,我将使用它作为菜单,我想将它覆盖在我的uiviewcontroller上。到目前为止,我所做的是在UIViewController类文件中声明一个UIView IBOutlet,在该UIViewController xib文件中,我从库中拖出一个UIView并相应地将其连接起来。问题是它在尝试呼叫时未显示:

menu = [[UIView alloc] initWithFrame:CGRectMake(10,10,50,150)];
//[self.view insertSubview:menu atIndex:0];
[self.view addSubview:menu];
//[self.view bringSubviewToFront:menu];

正如你所看到的,我尝试过不同的变化,所有来自其他帖子的建议,但我什么也没有得到。我走错路了吗?我缺少什么?

因为您已经在Interface Builder中连接了视图,所以不需要分配新视图。要将其添加到视图控制器的主视图,代码应如下所示:

[self.view addSubview:self.menu]; // Assuming your IBOutlet is a property called menu.
[self.view addSubview:menu];
如果您只是使用一个IBOutlet ivar(),它应该如下所示:

[self.view addSubview:self.menu]; // Assuming your IBOutlet is a property called menu.
[self.view addSubview:menu];

哇,真不敢相信我离得这么近。好的,现在有道理了,但我很好奇为什么你说不推荐IBOutlet?请阅读“不推荐”链接()上的文档。它描述了苹果公司在处理iboutlet和内存管理方面的建议。它说应该在属性声明中添加
IBOutlet
,而不是ivar。