Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.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 如何知道UIVIewController是否显示为Peek预览控制器_Ios_Objective C_Uiviewcontroller_3dtouch - Fatal编程技术网

Ios 如何知道UIVIewController是否显示为Peek预览控制器

Ios 如何知道UIVIewController是否显示为Peek预览控制器,ios,objective-c,uiviewcontroller,3dtouch,Ios,Objective C,Uiviewcontroller,3dtouch,有没有办法知道UIViewController当前是否显示为3D触摸的Peek预览?我不想创建一个全新的视图控制器,但我想删除一些在偷看时没有意义的控件 到目前为止,我发现只有当视图控制器以“peek模式”显示时,_modalSourceViewController属性才不是nil,但我不知道我是否可以信任该属性,也不知道如何访问该属性 - (UIViewController *)previewingContext: (id<UIViewControllerPreviewing>)p

有没有办法知道UIViewController当前是否显示为3D触摸的Peek预览?我不想创建一个全新的视图控制器,但我想删除一些在偷看时没有意义的控件

到目前为止,我发现只有当视图控制器以“peek模式”显示时,_modalSourceViewController属性才不是nil,但我不知道我是否可以信任该属性,也不知道如何访问该属性

- (UIViewController *)previewingContext: (id<UIViewControllerPreviewing>)previewingContext viewControllerForLocation:(CGPoint)location {

  //... code to instantiate the corresponding viewController

  viewController.isPreviewed = YES;

}

我刚刚发现,我可以简单地向viewController添加一个属性,并在Peek委托方法中实例化它时进行设置,然后根据该属性在viewController实现中处理布局

- (UIViewController *)previewingContext: (id<UIViewControllerPreviewing>)previewingContext viewControllerForLocation:(CGPoint)location {

  //... code to instantiate the corresponding viewController

  viewController.isPreviewed = YES;

}
-(UIViewController*)previewingContext:(id)previewingContext viewControllerForLocation:(CGPoint)位置{
//…用于实例化相应viewController的代码
viewController.isprevied=是;
}