我的应用程序中有一个视图控制器,在我的屏幕上有一个需要用户点击的UIView。当他们这样做时,我想调用另一个viewController的视图,并在屏幕上为用户显示它。不幸的是,我在显示视图时遇到了麻烦。
我从中进行调用的viewController的名称称为“ MainViewController”,而我希望显示其视图的ViewController的名称称为“ NextViewController”
这是我拨打电话的代码:
- (void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
NSLog(@"I was touched.");
_nextView = [[NextViewController alloc] init]; //this code is not being called
[self.view addSubview:_nextView.view]; //neither is this being called
}
其中_nextView是我在MainViewController的.h文件中声明的属性。
正在调用此方法,但是由于某种原因,因为我能够看到日志语句打印到输出,但是由于某种原因,在此之后,我无法调用这些行。有人可以看到我在做什么吗?
在此先感谢所有答复。
在不使另一个视图控制器成为子视图控制器的情况下,不应将另一个视图控制器的视图添加到视图中。如果只需要一个视图,则在xib文件中设置一个视图并将其作为子视图添加到您的视图中。如果要使用视图控制器,则应以模态形式显示它,并在完成后将其关闭。您想从用户那里收集一些信息以在您的应用程序中使用的这种情况是使用模态视图控制器的合适位置。MainViewController应该将自己设置为NextViewController的委托,而NextViewController应该定义一个委托协议,以将数据发送回MainViewController。
要将其模态显示,请执行以下操作:
_nextView = [[NextViewController alloc] initWithNibName:@"your nib name here" bundle:nil];
[self presentViewController:_nextView animated:YES completion:nil];
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句