我想在选中时将标签栏项目更改为粉红色,而不是默认的蓝色.
如何使用Xcode 6中的storyboard编辑器完成此操作?
这是我目前的设置不起作用,蓝色背景有效,但粉红色不起作用:
任何人在UITabBar组件周围遇到iPhone X模拟器问题?
我似乎将图标和标题呈现在彼此之上,我不确定我是否遗漏了任何东西,我也在iPhone 8模拟器中运行它,以及一个看起来很好的实际设备,如图所示故事板.
iPhone X:
iPhone 8
我正在使用标签栏驱动的应用程序中以编程方式切换选项卡UITabBarController.selectedIndex
.我试图解决的问题是如何设置视图之间的过渡动画.即.从当前选项卡的视图到所选选项卡的视图.
第一个想法是使用UITabBarControllerDelegate
它,但似乎在编程切换选项卡时不会调用它.我现在正在考虑UITabBarDelegate.didSelectItem
:作为设置过渡动画的可能钩子.
有没有人设法为过渡动画?如果有,怎么样?
我有一个大小为100的tabBar的图标.
我检查了Apple的人机界面指南,它说图像大小应为30x30
/ 60x60
.
但是当标签栏控制器的高度为50时,我将图像的大小保持为50x50
.
现在,当我运行项目时,我看到下面的丑陋设计:
知道我应该使用什么尺寸的图像,以便设计完美吗?
注意:我也不写文本(例如Home,Search等).选项卡按钮的文本位于图像本身.
通常在a的每个选项卡上UITabBar
都有一个小图像和一个命名选项卡的标题.图像位于标签顶部/居中,以容纳下方的标题.我的问题是:如果你想让tabBar只有一个图像而没有标题,那么有一种方法可以将图像向下移动,使其在标签内更好地居中吗?
我目前正在使用(见下文):
[tabBarItem setFinishedSelectedImage:tabSelected withFinishedUnselectedImage:tabUnselected];
Run Code Online (Sandbox Code Playgroud)
但是我更喜欢使用没有标题的较大图像,此时如果我使图像大于约70像素@ 2x它开始从顶部开始边缘,UITabBar
同时在底部留下大量未使用的空间.
UINavigationBar和UISearchBar都有一个tintColor属性,允许你改变这两个项目的色调(我知道).我想在我的应用程序中对UITabBar做同样的事情,但现在已经找到了从默认的黑色中改变它的方法.有任何想法吗?
tabBar.barTintColor
在 iOS 15 beta 4 中无法更改。
背景。我们在 App Store 中有一个应用程序,每年在新的 iOS 主要版本发布之前,我们都会下载 iOS 测试版并测试我们的应用程序以提前解决问题。
我们的问题。今年,在 iOS 15 beta 4 中进行测试时,我们发现 UITabBarController 的 tabBar 背景颜色变成黑色,导致项目(图标和标题)难以阅读。在我们的代码中,我们有 self.tabBar.barTintColor = .white,这行代码在 iOS 15 中不起作用。
我们的尝试。我在网上搜索并发现了一个类似但不完全相同的问题报告,https://developer.apple.com/forums/thread/682420。我尝试过standardAppearance
,但这不是解决方案,因为appearance
我无法更改tabBar.tintColor
。
我UITabBarController
用作root视图,app支持iOS 6及更高版本.项目类层次结构如下.
UITabBarController
- tab1
- UINavigationController
- UIViewController
- UIViewController
.
.
- tab2
- UINavigationController
- UIViewController
- UIViewController
.
.
.
- tab3
- UIViewController
- tab4
- UIViewController
Run Code Online (Sandbox Code Playgroud)
我使用下面的代码来改变上面层次结构UITabBar
中的一个UIViewControllers(在里面UINavigationController
)的高度.
CGRect tabbarFrame = self.tabBarController.tabBar.frame;
tabbarFrame.size.height += 60;
self.tabBarController.tabBar.frame = tabbarFrame;
Run Code Online (Sandbox Code Playgroud)
但它没有改变高度.UITabBar
以默认高度显示.虽然记录其值打印更改值,如下所示.
<UITabBar: 0xb528f60; frame = (0 431; 320 109); autoresize = W+TM; layer = <CALayer: 0xb529080>>
Run Code Online (Sandbox Code Playgroud)
我怎样才能改变UITabBar
高度来达到这样的目的:?
我UITabBarController
在主屏幕上有一个iOS应用程序,导航到隐藏UITabBarController
with设置的详细信息屏幕hidesBottomBarWhenPushed = true
.
当回到主屏幕时,UITabBarController
会发出奇怪的"跳跃",如此GIF所示:
这仅在iOS 12.1上发生,而不是在12.0或11.x上发生.
看起来像iOS 12.1的错误,因为我注意到其他应用程序如FB Messenger有这种行为,但我想知道,是否有某种解决方法呢?
这是我的标签栏:
下图显示正在运行的程序和选择的"NEWS"项:
很明显酒吧色调颜色正常,我想要!
但是tintColor只影响图像而不影响文本.
此外,当选择一个项目(如上所示,新闻)时,项目颜色变为蓝色!我该如何防止这种情况发生?我希望它保持白色.
为什么文本在选中时会变为白色但在未选中时会变为白色?
我基本上希望项目颜色和文本颜色始终为白色.
我该如何实现这一目标?谢谢你的帮助.
是否需要每个项目的快速代码?
编辑:
uitabbar ×10
ios ×7
uitabbaritem ×4
iphone ×3
objective-c ×3
swift ×3
cocoa-touch ×1
height ×1
ios11 ×1
ios15 ×1
ios4 ×1
iphone-x ×1
xcode ×1
xcode6 ×1
xcode9-beta ×1