У меня есть приложение, и я тестировал его с Android довольно успешно, но теперь я пытаюсь добавить в iOS, и он, похоже, не работает вообще.Xamarin Forms MasterDetail Страница не работает на iOS
У меня есть MasterDetailPage, который я в основном копировал из проекта mobileCRM, который отлично работает для меня в Adroid и моем buildhost, но не в моей портированной версии.
public class RootPage : MasterDetailPage
{
OptionItem _previousItem;
public RootPage()
{
var optionsPage = new MenuPage { Icon = "Icon.png", Title = "menu" };
optionsPage.Menu.ItemSelected += (sender, e) => NavigateTo(e.SelectedItem as OptionItem);
Master = optionsPage;
NavigateTo(optionsPage.Menu.ItemsSource.Cast<OptionItem>().First());
}
void NavigateTo(OptionItem option)
{
if (_previousItem != null)
_previousItem.Selected = false;
option.Selected = true;
_previousItem = option;
var displayPage = PageForOption(option);
Detail = new NavigationPage(displayPage)
{
BarBackgroundColor = Helpers.Color.Orange.ToFormsColor()
};
Detail.SetValue(TitleProperty, option.Title);
Detail.SetValue(IconProperty, option.Icon);
IsPresented = false;
}
static Page PageForOption(OptionItem option)
{
switch (option.Title)
{
case "Home":
return new HomePage();
case "Circles":
return new CirclesPage();
case "Settings":
return new SettingsPage();
default:
throw new NotImplementedException("Unknown menu option: " + option.Title);
}
}
}
Не могли бы вы объяснить «Не работает»? это рухнет? это плохо? –
В строке заголовка нет текста, а внутренний контент пуст. в основном все, что вы видите, это пустая строка вверху, и вы можете выскочить из меню и щелкнуть по ссылкам, но деталь просто останется пустой белой страницей. Я установил точку останова, и он никогда не попадал в конструктор страницы. – BillPull
Я могу подтвердить вопрос, исследуя. Это связано с тем, что NavigationPage является MD.Detail. –