2013-03-08 92 views
0

这是我第二天学习使用xcode编程ios - 所以这应该是一个简单的问题 - 只是我无法弄清楚。如何检测ViewController是否被激活?

我正在使用StoryBoards和一个UITabViewController与3选项卡项目。 在第二个选项卡上,我希望启动相机,只要用户选择该选项卡。

如何检测到第二个视图已激活?在这种情况下是否有事件触发?

+2

实现视图控制器的'viewWillAppear:'或'viewDidAppear:'方法。 – rmaddy 2013-03-08 17:39:43

+0

谢谢,它的作品 - 但并不完全如我想要的那样....重点是,在此活动中,我展示了相机,以便用户可以拍摄照片并在拍摄照片后显示图像在ViewController的ImageView中。重点是,这个事件也是在imagepicker呈现之后被解雇的......当视图从tabcontroller被激活时我该如何完成某些操作,或者我如何区分激活的来源? – bandreas 2013-03-08 17:53:22

+0

然后解释一下你真正想要的与实际发生的情况。 – rmaddy 2013-03-08 17:55:27

回答

0

你也可以使用你的ViewController的viewDidLoad方法。用这种方法做任何你需要的东西:

- (void)viewDidLoad 
{ 
} 
+0

正如我上面提到的那样,只需从制表人控制器激活视图时,我就需要启动相机。不幸的是,viewDidLoad在每个应用程序生命中只会被调用一次(就我的体验而言),并且即使在拍摄照片后也会调用viewdidAppear .... – bandreas 2013-03-08 18:07:04

+0

您提到您要在选择第二个选项卡时激活相机。我相信,只要你选择该选项卡,该选项卡的视图控制器的viewDidLoad应该被调用。情况并非如此?如果视图控制器已经加载到内存中,它可能不会被调用。在这种情况下,是的,viewWillAppear/viewDidAppear是你最好的选择。有一些标志确定何时启用摄像头,何时不启用摄像头。 – AC1 2013-03-08 18:12:09

+1

是的,在viewWillAppear:或viewDidAppear中使用一个标志:没问题。 – bandreas 2013-03-08 18:48:07

相关问题