我不知道如何按原样加载我的页面,当我按下后退按钮时。我有两种类型的页面故事板和xib。显示所有信息,当我点击go按钮时,它将转到新页面。所有这些工作都很好,但我的问题是当我按下后退按钮我需要我的故事板和xib文件应该在同一视图中显示。当我运行我的应用程序时,它只显示故事板页面xib没有加载。
感谢您提前了解我的代码:
- (IBAction)back:(id)sender {
Recharge *view = [self.storyboard instantiateViewControllerWithIdentifier:@"Recharge"];
[self presentViewController:view animated:YES completion:nil];
self.recharge = [[mobileViewcontroller alloc]init];
self.recharge.view.frame = CGRectMake(0,100, 400, 400);
[self addChildViewController:self.recharge];
[self.view addSubview:self.recharge.view];
}
答案 0 :(得分:0)
我假设Recharge
是故事板中的视图控制器,而mobileViewController
是来自xib的视图控制器。
您正在调用错误的构造函数来加载mobileViewController
。您需要使用(instancetype)initWithNibName:(NSString *)nibName bundle:(NSBundle *)nibBundle
加载xib文件。见https://developer.apple.com/library/ios/Documentation/UIKit/Reference/UIViewController_Class/index.html#//apple_ref/occ/instm/UIViewController/initWithNibName:bundle:
答案 1 :(得分:0)
用
替换您的代码- (IBAction)back:(id)sender {
Recharge *rechargeView = [self.storyboard instantiateViewControllerWithIdentifier:@"Recharge"];
[self presentViewController:rechargeView animated:YES completion:nil];
self.recharge = [[mobileViewcontroller alloc]init];
self.recharge.view.frame = CGRectMake(0,100, 400, 400);
[rechargeView addChildViewController:self.recharge];
[rechargeView.view addSubview:self.recharge.view];
}
它会起作用。
当您在mobileViewcontroller
上添加用户无法看到的current viewController
视图时,您应该将mobileViewcontroller
添加到层次结构中的recharge viewController
并且对用户可见。
答案 2 :(得分:0)
当你通过传递某个东西调用新的viewcontroller时你已经做了这样的代码[self presentViewController:view animated:YES completion:nil];
试试这个:
(IBAction为)背面:(ID)发送方 {
Recharge * view = [self.storyboard instantiateViewControllerWithIdentifier:@" Recharge"];
self.recharge = [[mobileViewcontroller alloc] init];
self.recharge.view.frame = CGRectMake(0,100,400,400);
[view addChildViewController:self.recharge];
[查看addSubview:self.recharge.view];
[self presentViewController:view animated:YES completion:nil];
}