DisplayActionSheet不显示(DisplayActionSheet not showi

2019-10-22 08:56发布

我使用MessagingCenter发信号MasterDetailPage从我的模型。

private void ShowActionSheet(object sender, IEnumerable<string> hosts)
{
    Device.BeginInvokeOnMainThread(async () =>
    {
        // Works
        await DisplayAlert("Testing!", "Some text", "OK");

        // Does not work
        await DisplayActionSheet("Test", "Cancel", "Destroy", new[] {"1","2"});
    }
}

当调用DisplayActionSheet我得到以下警告:

Warning: Attempt to present <UIAlertController: 0x7e737aa0> on <Xamarin_Forms_Platform_iOS_NavigationRenderer: 0x7e4b31a0> whose view is not in the window hierarchy!

有一个“请稍候” -modal在MasterDetailPage的顶部。 它的工作原理没有模式的,但是这不是一个真正的可接受的解决方案。

任何提示或指针将不胜感激。


更新:我已经搬到DisplayActionSheet的模式作为最后的手段。 我仍然担心,这个问题的iOS 8.2有关。

Answer 1:

改变你的代码:

Device.StartTimer(新时间跨度(0,0,0,0,500),ShowActionSheet);

async Task<bool> ShowActionSheet()
{
    await DisplayActionSheet("Test", "Cancel", "Destroy", new[] {"1","2"});
    return false;
}


文章来源: DisplayActionSheet not showing