如何使用xib插入子视图?
Posted
技术标签:
【中文标题】如何使用xib插入子视图?【英文标题】:How to insert a subview with xib? 【发布时间】:2010-10-30 22:50:32 【问题描述】:我对拥有多个视图感到很困惑。我只想在我的主视图上有一个按钮来激活一个新视图,而这个新视图又会有一个返回主视图的 (x) 按钮。对于我的生活,我无法弄清楚如何使用两个单独的 .xib 文件来做到这一点。如何做到这一点?
谢谢!
【问题讨论】:
【参考方案1】:将实用程序应用程序用作模板可能是最简单的。
从那里,您可以看到如何加载视图控制器和 nib 以调出新视图以及如何退出它。
【讨论】:
我一直在研究它,但无济于事。哦,是时候回去看书了。 ;) 在实用程序应用程序中,特别查看 MainViewController 上的 - (IBAction)showInfo:(id)sender 函数,然后查看 FlipsideViewcontroller 上的 - (IBAction)done:(id)sender【参考方案2】:其实我是这样解决的:
NewViewController *new = [[NewViewController alloc] initWithNibName:@"NewViewController" bundle:nil];
new.delegate = self;
new.modalTransitionStyle = UIModalTransitionStyleCoverVertical;
[self presentModalViewController:new animated:YES];
[new release];
【讨论】:
您也可以使用[self.view addSubview:new.view]
并创建自己的动画。【参考方案3】:
您使用的是导航控制器,对吧?
在与主视图上的按钮点击关联的 IBAction 上,放置
NewViewController *newView = ... // [alloc - init your view here if you haven't already]
[self.navigationController pushViewController:newView animated:YES];
在 newView 上的按钮上,
[self.navigationController popViewControllerAnimated:YES]
【讨论】:
不,它实际上不是导航控制器。 您应该考虑使用导航控制器,因为这是推荐的方式。除此之外,您可以考虑使用 view.hidden、[view bringSubviewToFront:]、[view sendSubviewToBack:] 等来显示您需要的内容。 我实际上做了一个稍微不同的方式,看看我的回答。不过感谢您的帮助! 哦,你想要一个模式屏幕。你应该在你的问题中提到,让事情变得更容易。 :P以上是关于如何使用xib插入子视图?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用来自 xib 文件的任何子视图(在 xib 中创建)的多个副本