gpt4 book ai didi

ios - Xamarin Forms 工具栏/导航栏格式

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:53:28 27 4
gpt4 key购买 nike

我目前正在学习 Xamarin Forms,我首先要重新创建一个我之前为 iOS 开发的 pp。我一直在尝试设置导航栏的格式(我认为它在表单中称为工具栏),甚至不知道我想做什么是可能的。

This took me >5 minutes to knock together in xcode

This is currently what my xamarin project looks like

首先,出于某种原因,我的栏按钮被正确分组,我看到一些 2014 年的旧帖子说这是不可能的。他们改变了吗?我知道 Xamarin 自 2014 年以来发生了很多变化,我找不到最近有人问过的问题(也许不可能??)。

其次,我在 iOS 中的页面颜色在导航栏下方可见。它不在 Xamarin 中,我使用以下代码设置背景颜色:

<ContentPage xmlns="http://xamarin.com/schemas/2014/forms" 
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="NavigationDemo.MenuPage"
BackgroundColor="Fuchsia"
Title = "Navigation Bar">

这肯定应该向后延伸吗?

所以对于 Xamarin 新手,我如何设置它以便 iOS 栏按钮显示在左/右而不是右/右....以及如何让我的内容页面的背景颜色显示在导航下方/工具栏?

谢谢

最佳答案

实现透明度:

var navPage = new NavigationPage(new MyContentPage());

switch (Device.RuntimePlatform)
{
case Device.iOS:
navPage.On<Xamarin.Forms.PlatformConfiguration.iOS>()
.EnableTranslucentNavigationBar();
break;
}

我没有在非导航页面的页面上测试它,但我想它应该可以工作。您可以试试 var myPage = new MyContentPage();

更改导航栏中文本/图标的颜色:

AppDelegate.cs 中,创建一个名为 InitNavbarAndTabBarAppearance() 的方法,并在初始化 Xamarin 之前在 FinishedLaunching() 方法中调用它.表格:

public override bool FinishedLaunching(UIApplication app, NSDictionary options)
{
...
InitNavBarAndTabBarAppearance();

global::Xamarin.Forms.Forms.Init();
...
}

InitNavbarAndTabBarAppearance():

private void InitNavBarAndTabBarAppearance()
{
// Color of the navigation bar title:
UINavigationBar.Appearance.SetTitleTextAttributes(
new UITextAttributes()
{
TextColor = UIColor.Black,
});

// Color of the navigation bar buttons/toolbar items:
UINavigationBar.Appearance.TintColor = UIColor.FromRGB(0, 122, 255);

// Color of the selected tab icon & text:
UITabBarItem.Appearance.SetTitleTextAttributes(
new UITextAttributes()
{
TextColor = UIColor.FromRGB(0, 122, 255)
},
UIControlState.Selected);

// Color of the unselected tab icon & text:
UITabBarItem.Appearance.SetTitleTextAttributes(
new UITextAttributes()
{
TextColor = UIColor.FromRGB(146, 146, 146)
},
UIControlState.Normal);
}

左侧工具栏项:

要在导航栏左侧显示图标,您需要自定义渲染器。请参阅此处:https://timeyoutake.it/2016/01/02/creating-a-left-toolbaritem-in-xamarin-forms/

关于ios - Xamarin Forms 工具栏/导航栏格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48648985/

27 4 0