Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/98.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在iOS 6上呈现的视图消失。我该如何解决这个问题?_Ios_Objective C_Ipad_Ios6 - Fatal编程技术网

在iOS 6上呈现的视图消失。我该如何解决这个问题?

在iOS 6上呈现的视图消失。我该如何解决这个问题?,ios,objective-c,ipad,ios6,Ios,Objective C,Ipad,Ios6,我从视图控制器中显示了两个视图:一个用于设置,一个用于设备日志。当我在iPad上运行应用程序并显示视图,然后旋转设备时,视图消失 如果我以纵向(任意一个)显示视图(使用按钮)并旋转它,它将消失。如果随后再次显示视图,它将重新出现,然后正确旋转 为什么会发生这种情况?我能做些什么来修复它 谢谢你的回复 更新:仅当我首次以纵向模式呈现视图时,才会发生此情况。如果我先以横向模式呈现它,它旋转得很好,不会消失 在我的主视图控制器的viewDidLoad中: self.logViewController

我从视图控制器中显示了两个视图:一个用于设置,一个用于设备日志。当我在iPad上运行应用程序并显示视图,然后旋转设备时,视图消失

如果我以纵向(任意一个)显示视图(使用按钮)并旋转它,它将消失。如果随后再次显示视图,它将重新出现,然后正确旋转

为什么会发生这种情况?我能做些什么来修复它

谢谢你的回复

更新:仅当我首次以纵向模式呈现视图时,才会发生此情况。如果我先以横向模式呈现它,它旋转得很好,不会消失

在我的主视图控制器的viewDidLoad中:

self.logViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"LogViewController"];
[self.logViewController setModalInPopover:YES];
[self.logViewController setModalPresentationStyle:UIModalPresentationFormSheet];
[self.logViewController setModalTransitionStyle:UIModalTransitionStyleFlipHorizontal];
按下日志按钮时调用的我的方法:

- (void)showInfoView:(id)sender
{
    [self presentViewController:self.logViewController animated:YES completion:NULL];
}

我已经意识到我做错了什么。我在SplitViewController中从主视图显示显示的视图控制器。通过从详细视图显示,问题得到了解决。

有人(我想他们删除了他们的评论?)说我应该在属性上为我的显示视图控制器设置
strong
属性。我知道,但我不认为呈现的视图控制器应该总是一个属性。在IB中,几乎不应该有指向视图的强指针。为什么?由于视图是一种通信工具,因此访问它们的频率相当高。这是因为您的视图已经具有指向它们的强指针。如果视图关心它们,则ViewController不关心它们(因为视图拥有它们)。一旦视图释放它们,您就不希望ViewController再拥有与它们的任何连接。。。因此,希望VC提供一个弱指针。如果您使用的是Outlet集合,那么您需要一个强指针(但这仅仅是因为它实际上是一个NSArray)。我们讨论的是视图还是视图控制器?我没有指向视图的强指针,只有特定的视图控制器。