首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UITabBarController BarTintColor不在iOS15工作

UITabBarController BarTintColor不在iOS15工作
EN

Stack Overflow用户
提问于 2021-09-24 05:36:54
回答 5查看 4.3K关注 0票数 2

在iOS15中,我遇到了一个问题,即底部栏的颜色没有显示正确的颜色,它变成了透明/白色。同样的代码在iOS14 & iOS13中运行良好。

我有一个用于iOS的选项卡条呈现器类,在ViewWillAppear()中,我使用代码TabBar.BarTintColor = UIColor.Blue来更改选项卡栏的颜色,它只适用于下面的iOS,而不是iOS15,而不是iOS15。

基于这个问题,我假设我需要将代码从UINavigationBar转换为UITabBar。但是,我没有看到在scrollEdgeAppearance类中有任何对“UITabBar”的引用。我认为这对解决这个问题很重要。如果有人能给我一些建议,我将不胜感激。非常感谢。

代码以更改在iOS14 & iOS13中工作的标题栏颜色

代码语言:javascript
复制
TabBar.BarTintColor = UIColor.Blue;

UINavigationBar

代码语言:javascript
复制
    let appearance = UINavigationBarAppearance()
    appearance.configureWithOpaqueBackground()
    appearance.backgroundColor = <your tint color>
    navigationBar.standardAppearance = appearance;
    navigationBar.scrollEdgeAppearance = navigationBar.standardAppearance

我自己的UITabBar代码

代码语言:javascript
复制
     var appearance = new UITabBarAppearance();
     appearance.ConfigureWithOpaqueBackground();
     appearance.BackgroundColor = UIColor.Blue;
     this.TabBarController.TabBar.StandardAppearance = appearance;
EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2021-10-01 08:02:50

现在包括Xamarin.iOS 15.0.0.6更新。

我将更新为8.10.9 (build 3),将Xamarin.iOS更新为15.0.0.6。

我用以下代码解析了UITabBar条形图的颜色:

代码语言:javascript
复制
var appearance = new UITabBarAppearance();
appearance.ConfigureWithOpaqueBackground();
appearance.BackgroundColor = UIColor.Blue; // color you want

TabBar.StandardAppearance   = appearance;
TabBar.ScrollEdgeAppearance = TabBar.StandardAppearance;

*从9月30日起,如果您使用Visual,您可能仍然看不到UITabBar类中对“UITabBar”的引用。您可以忽略它,因为您仍然可以构建没有错误的项目。

票数 1
EN

Stack Overflow用户

发布于 2021-09-28 06:26:53

你有没有检查过这个链接:https://github.com/xamarin/xamarin-macios/issues/12778

由于目前visual中没有iOS 15的更新,所以我们需要下载pkg文件并手动安装Xamarin.iOS来测试iOS 15。

我下载并安装它,使用下面的代码,一切正常。

代码语言:javascript
复制
if(UIDevice.CurrentDevice.CheckSystemVersion(15,0))
{

   var appearance = new UITabBarAppearance();
   appearance.ConfigureWithOpaqueBackground();
   appearance.BackgroundColor = UIColor.Blue;

   tab.TabBar.StandardAppearance = appearance;
   tab.TabBar.ScrollEdgeAppearance = tab.TabBar.StandardAppearance;
}

请参阅

https://stackoverflow.com/a/68749895/8187800

票数 1
EN

Stack Overflow用户

发布于 2021-10-07 15:29:34

只是修复了这个问题,但是在Xamarin.Forms中:选项卡在iOS 15中有一个白色/透明的颜色。

  1. 更新VS的Mac (8.10.10构建8)。
  2. 安装最新的Xamarin.iOS (15.0.0.6)。
  3. 使用UITabBar:在FinishedLaunching中的App_Delegate.cs中添加以下代码:
代码语言:javascript
复制
UITabBar.Appearance.BackgroundColor = Color.FromHex("333333").ToUIColor();
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69310028

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档