我正在尝试完全关闭一个视图控制器实例。这种情况是,用户将在页面上选择一个值,并将返回到主页,其中的数据会根据选择进行更新。当在选择页面上选择一个值时,我调用
var vc = new viewController()
{
ModalPresentationStyle = UIModalPresentationStyle.FullScreen
}
PresentViewController(vc,true,null)因此,我创建了一个新的viewController实例,以便可以显示更新后的数据。那么我怎么才能完全摆脱以前的viewController呢?
还需要注意的一件事是,viewDidLoad()被调用的次数与实例的数量相同。当达到大约4-5个实例时,应用程序开始变得非常慢。因此,这是我希望能够关闭实例的主要原因,这样我就不会收到重复的调用。
我知道这对一些人来说可能是一个相对简单的问题,但我对Xamarin iOS还是个新手。
提前谢谢你。
发布于 2020-07-28 18:56:31
有很多解决方案可以解决这个问题。
例如,可以将vc设置为页面的属性,使其成为页面中的单例。在你展示它之前讨论它。
viewController vc;if(vc!=null)
{
vc.DismissViewController(false,null);
}
vc = new viewController ()
{
ModalPresentationStyle = UIModalPresentationStyle.FullScreen
};
PresentViewController(vc, true, null);更新
如果您在另一个viewController中Present一个viewController,您可以在打开新页面之前讨论它自己。
在viewController中
public bool IsPresent { get; set; }vc = new viewController()
{
ModalPresentationStyle = UIModalPresentationStyle.FullScreen,
IsPresent = true,
};if(IsPresent)
{
DismissViewController(false, () =>
{
PresentViewController(vc, true, null);
});
}
else
{
PresentViewController(vc, true, null);
}https://stackoverflow.com/questions/63131158
复制相似问题