ios 13导航控件在CNContactViewController中向下滑动选择器以添加配置文件图片时消失?

ios 13导航控件在CNContactViewController中向下滑动选择器以添加配置文件图片时消失?,ios,navigationbar,cncontactstore,cncontactviewcontroller,Ios,Navigationbar,Cncontactstore,Cncontactviewcontroller,点击AddPhoto后 向下滑动控制器时观察“取消”,新联系人和“完成”将消失。 在本节中,我们将添加现有数据的联系人。 然后添加contactview控制器作为当前视图控制器 var nc = new UINavigationController(contactViewController); this.PresentViewController(nc, true, () => { }); 假设您在IOS 8的更高版本上运行此功能,S

点击AddPhoto后
向下滑动控制器时观察“取消”,新联系人和“完成”将消失。

在本节中,我们将添加现有数据的联系人。 然后添加contactview控制器作为当前视图控制器

var nc = new UINavigationController(contactViewController);
            this.PresentViewController(nc, true, () => {
            });

假设您在IOS 8的更高版本上运行此功能,Swift现在能够启用禁用导航栏视图的滚动。(如果我们谈论的是同一件事)。我认为问题在于你的导航控制器,而不是上面的代码

你可以用
self.navigationController?.hidesBarsOnSwipe=false

禁用滚动和切换时隐藏导航栏,但这需要将ViewController嵌入NavigationController中。NavigationController的所有子VC都将继承此行为,因此您可能希望在ViewWillDisplay中启用/禁用它

您还可以通过设置导航控制器->shownavigationbar在故事板中禁用此功能


我们如何才能访问ContactViewController中显示的视图?为了便于参考,我在问题中附上了屏幕截图。请在滚动之前附上视图的图像,以便我可以看到导航控制器的位置,另外,你可以在你初始化导航控制器的地方附加任何代码吗?我附加了一些图片来帮助使用故事板导航标签。看一看,并尝试一下。好的,在你的情况下,可能有两个原因,您没有像我提到的那样禁用self.navigationController?.hidesBarsOnSwipe=false,或者当您单击“添加照片”时,帧大小会发生变化,从而导致视图自身的宽度发生变化。如果在某处调整视图的大小,可能会调用该方法。因此导航宽度不会更改,因此视图将无法有足够的空间渲染导航控制器。首先转到您的
CNContactViewController
,在视图中将显示添加我在上面添加的代码我不知道您是否注意到,但您附加的最后一张图像的上边距似乎比之前的图像小,请检查约束更新。渲染新组件时是否调整高度或宽度
var nc = new UINavigationController(contactViewController);
            this.PresentViewController(nc, true, () => {
            });