Я хочу удалить Tabbar
из TabbedPage
.Я получил это работает, но он оставляет пустое пространство или высота страницы не обновляется после скрытия Tabbar
.
Обратите внимание, что когда мы проводим по страницам, пробел уходит и никогда не возвращается.Эта проблема появляется только в первый раз.
Я пробовал с этой ссылки.Но это не работает.
Также попытался выполнить следующие действия:
private void Element_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
{
try
{
TabBar.Hidden = true;
//TabBar.Bounds = new CoreGraphics.CGRect(View.Subviews[0].Frame.X, View.Subviews[0].Frame.Y,
// View.Subviews[0].Frame.Width, 0);
if (TabBar.Hidden)
{
// page
View.Subviews[0].Frame = new CoreGraphics.CGRect(0, 0, View.Subviews[1].Frame.Width, NativeView.Frame.Height);
// Tabbar
View.Subviews[1].Frame = new CoreGraphics.CGRect(View.Subviews[0].Frame.X, View.Subviews[0].Frame.Y,
View.Subviews[0].Frame.Width, 0);
}
else
{
View.Subviews[1].Frame = new CoreGraphics.CGRect(View.Subviews[1].Frame.X, View.Subviews[1].Frame.Y,
View.Subviews[1].Frame.Width, 49);
View.Subviews[0].Frame = new CoreGraphics.CGRect(View.Subviews[0].Frame.X, View.Subviews[0].Frame.Y,
View.Subviews[0].Frame.Width, View.Subviews[0].Frame.Height - 49);
}
//if (TabBar.Hidden)
// View.Subviews[1].Frame = new CoreGraphics.CGRect(View.Subviews[1].Frame.X, View.Subviews[1].Frame.Y, View.Subviews[1].Frame.Width, 0);
//else
// View.Subviews[1].Frame = new CoreGraphics.CGRect(View.Subviews[1].Frame.X, View.Subviews[1].Frame.Y, View.Subviews[1].Frame.Width, 49);
}
catch (Exception ex)
{
//TraceLog("Element_PropertyChanged" + ex.Message);
}
}
РЕДАКТИРОВАТЬ
Я открываю вкладку на странице просмотра списка, щелкнув.Я разрешаю добавлять несколько вкладок динамически.Также я создал пользовательскую панель вкладок с помощью ContentView, которую я обновляю при добавлении или удалении страниц из TabbedPage.
Последовательность: - Пользователь открывает первую вкладку.- Нажмите на значок дома, указанный на странице с вкладками.- откройте вторую страницу, щелкнув по другому элементу списка - проведите по странице, и высота страницы будет нормальной.
Вот код в ListView_ItemTapped (точно не опубликовано, как это на самом деле, но вы можете понять:))
MultiTab ObjMultiTab = new MultiTab(); // Initialize tabbed page
// Get data from server
ObjMultiTab.Data = ObjData;
int Id = Convert.ToInt32(ObjData.id);
if (ActiveList.ContainsKey(Id)) // Dictionary that contains info about index and pageid that are already open
{
TabId = ActiveList[ObjData.id];
CurrentPage = Children[TabId]; // If user taps on already opend page
}
else
{
Count += 1; ActiveList.Add(Id, Count);
Children.Add(new SecondTabbedPage(TableData)); // Or add new child
CurrentPage = Children[Count];
}
await Application.Current.MainPage.Navigation.PushModalAsync(ObjMultiTab);
Есть ли способ также удалить пробел в первый раз?