如何用另一个视图填充主 ViewController 上的 UIView?
Posted
技术标签:
【中文标题】如何用另一个视图填充主 ViewController 上的 UIView?【英文标题】:How Fill UIView on main ViewController with another View? 【发布时间】:2011-05-23 00:52:58 【问题描述】:各位大师, 我如何用另一个 VC 填充主 VC 上的 UIView,我制作简单的 ipadd 应用程序,在主视图上我有 2 个按钮和 2 个 UIview,一个视图是主 UIview,主 UIView 再次有 UIview,我想用另一个 NIB 替换(UIViewController )。如果我单击按钮 1 UIview 将填充 NIB1,如果我单击按钮 2 UIView 将填充 NIB2
这是主要的.h
#import "nib1.h"
#import "nib2.h"
@interface multinibViewController : UIViewController
IBOutlet UIView *topview;
@property (nonatomic,retain) IBOutlet UIView *topview;
-(IBAction)changeNib1;
-(IBAction)changeNib2;
@end
这是实现我必须填写什么代码?
-(IBAction)changeNib1
-(IBAction)changeNib2
我该怎么做才能变成这样? 谢谢, 更新: ipad的页面布局是这样的
|------------------------------------------------------------|
| This is MainViewController |
| button 1 button 2 |
| |
| |------------------------------------------------------| |
| | This UIView that i want load | |
| | from another NIB / UIViewContoller | |
| | | |
| | | |
| | | |
| | | |
| |------------------------------------------------------| |
| |
| |
| lable Annother_button Annother_Object |
| |
. .
. .
. .
|------------------------------------------------------------|
谢谢 skorulis,这行得通,使用此代码
UIViewController *nib1 = [[UIViewController alloc] initWithNibName:@"nib1" bundle:nil];
[self.topview addSubview:nib1.view];
【问题讨论】:
【参考方案1】:查看 UINavigationController。它的基本思想是在 UIViewControllers 之间导航,这似乎是你想要做的。
编辑: 尝试在笔尖 1 中执行此操作。
UIViewController n2 = [[nib2 alloc] initWithNibName:nil bundle:nil];
[self.view addSubview:n2.view];
只需确保第二个笔尖的背景颜色清晰,这样您就可以看到后面是什么。
【讨论】:
嗨 skorulis 感谢您的回复,我尝试了 uinaviagtionvontroller,这样可以隐藏主 UIviewController,我希望在 mainViewcontroller 上有 UIView 和许多对象,这个 UIView 是我想用另一个 uiviewcontroller 填充的页面的一半,所以 mainUIviewCOntroller 仍然在页面上查看。 嗨 Skorulis,此代码是警告/错误 UIViewController *nib2 = [[nib2 alloc] initWithNibName:nil bundle:nil]; (方法 -alloc 未找到) 嗨 Skorulis,我已经更新了我的问题,这种方式是成功的,但是我如何将此视图委托给主视图? 对不起,不小心把变量和类一样了。我不太清楚您将其委托给主视图是什么意思。 我的意思是,我如何将数据从 Nib2 解析到 MainVC?,我在 nib2 上创建了@protocol,但 nib1.delegate 不存在。还有其他方法吗?以上是关于如何用另一个视图填充主 ViewController 上的 UIView?的主要内容,如果未能解决你的问题,请参考以下文章
如何用另一个observable填充observable并返回observable
如何用图像作为背景填充 iOS 堆栈视图(UIStackView)?