#c# #visual-studio #xamarin #xamarin.ios
#c# #visual-studio #xamarin #xamarin.ios
Вопрос:
Я работаю с Xamarin Forms, создавая приложения как для Android, так и для iOS. У меня есть страница с вкладками — на Android страница с вкладками отображается вверху, и когда у меня много вкладок, отображаются не все из них, но их можно перемещать в горизонтальном направлении. В iOS, когда у меня более 5 вкладок, создается кнопка «Еще», которую я могу открыть и просмотреть остальные вкладки.
Как удалить кнопку «Еще», если на странице с вкладками iOS более 5 вкладок, и поместить вкладки с возможностью скольжения (аналогично Android)?
Ответ №1:
Вы можете использовать Naxam.TopTabbedPage.Формы из Nuget
Использование:
в вашем файле AppDelegate.cs проекта iOS
public override bool FinishedLaunching(UIApplication app, NSDictionary options)
{
global::Xamarin.Forms.Forms.Init();
TopTabbedRenderer.Init(); //add this line
LoadApplication(new App());
return base.FinishedLaunching(app, options);
}
И в ваших формах
в xaml
<?xml version="1.0" encoding="utf-8" ?>
<forms:TopTabbedPage
xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:local="clr-namespace:App11"
x:Class="App11.MainTabbedPage"
xmlns:forms="clr-namespace:Naxam.Controls.Forms;assembly=Naxam.TopTabbedPage.Forms"
BarBackgroundColor="#2196F3">
<local:Page1 Title="PAGE 1"/>
<local:Page2 Title="PAGE 2"/>
<local:Page3 Title="PAGE 3"/>
<local:Page4 Title="PAGE 4"/>
<local:Page5 Title="PAGE 5"/>
</forms:TopTabbedPage>
в xaml.cs
using Naxam.Controls.Forms;
namespace TopTabbedPageDemo
{
public partial class MainTabbedPage : TopTabbedPage
{
public MainTabbedPage()
{
InitializeComponent();
}
}
}
Комментарии:
1. Удачного кодирования 🙂
Ответ №2:
Возможно ли переместить заголовок первой вкладки в исходное положение, чтобы он не был разрезан пополам? проблема возникает, только если вкладок много. После перемещения между вкладками проблема исчезает, но при инициализации страницы это происходит.
Ответ №3:
Попробуйте настроить текущую страницу на соответствующую страницу содержимого; т.е;
если вы хотите, чтобы 1-я страница содержимого отображалась при инициализации, установленной как;
это.currentPage = tab1; // где tab1 — это x: Имя страницы содержимого
надеюсь, это поможет;
Спасибо