草庐IT

UINavigationBar

全部标签

ios - UINavigationBar 文本颜色在弹出后保持白色

我将一个ViewController推送到我的导航Controller上,该Controller将导航栏设置为具有透明背景和白色文本。当View弹出时,它应该将导航栏恢复到它以前的样子——白色背景和黑色文本。然而,这并没有发生。我正在推送的View的代码:overridefuncviewWillAppear(_animated:Bool){super.viewWillAppear(animated)navigationController?.navigationBar.shadowImage=UIImage()navigationController?.navigationBar.ba

ios - 无法呈现 UISearchController

我有以下View层次结构:UINavigationController||\/LibraryTableViewController:UITableViewController||\/AlbumsCollectionViewController:UICollectionViewController||\/SongsTableViewController:UITableViewController我想在AlbumsCollectionViewController中有一个搜索栏和一个不同的SongsTableViewController在navigationItem.titleView中显示

ios - NavigationBar 为一个 View 设置 TitleColor

我面临着快速设置一个ViewController标题的字体颜色并在它消失时重置它的问题。目前我可以将颜色从黑色设置为白色:overridefuncviewDidLoad(){lettextAttributes=[NSAttributedStringKey.foregroundColor:UIColor.white]navigationController?.navigationBar.titleTextAttributes=textAttributes}overridefuncviewWillDisappear(_animated:Bool){lettextAttributes=[NS

swift - 使用 NavigationController 转到另一个 Storyboard

我正在尝试修复我的应用程序的入职/演练。一切正常,除了当我导航到第一页时,navigationController消失了。当我关闭应用程序并再次启动它时,那里有NavigationController/bar。我的代码有问题吗?@IBActionfuncbuttonPressed(_sender:Any){letstoryborad=UIStoryboard(name:"Main",bundle:nil)letmainVC=storyborad.instantiateViewController(withIdentifier:"mainVC")as!ViewControllerself

ios - 如何更改与初始颜色不同的导航栏按钮项目颜色?

我已经从ViewA导航到ViewB(使用新的导航Controller和黑色导航栏)查看一个Controller://WithNavigationControllerletstoryBoard:UIStoryboard=UIStoryboard(name:"ViewB",bundle:nil)letnewViewController=storyBoard.instantiateViewController(withIdentifier:"ViewB")as!ViewBControllerletnavCont=UINavigationController(rootViewControlle

ios - 独立改变导航栏的颜色

在我开始之前,请知道我已经通读了许多关于该主题的StackOverflow帖子,但我一直无法弄清楚如何将许多答案应用于我的特定场景。在我的Storyboard中,我有一个带有嵌入式导航Controller的TableView,以及一个到另一个带有嵌入式导航Controller的TableView的segue。根据我的应用程序设计,我希望第一个表格View中的导航栏具有与第二个表格View中的导航栏不同的背景(色调)颜色。这是我的布局;根据上述内容,我将第一个导航Controller栏的颜色设置为绿色,将第二个导航Controller栏的颜色设置为蓝色。但是,当我构建并运行应用程序时,第

ios - UINavigationItem TitleView 消失

我正在尝试为导航栏创建自定义titleView。我能够在嵌入导航Controller的RootViewController中设置titleView。当我将第二个ViewController插入堆栈并尝试为此ViewController设置titleView时,它不起作用。titleView快速出现和消失。当我回到上一个ViewController时,这个titleView现在也很快出现和消失。有谁知道为什么会这样,或者如何正确设置titleView而不会闪烁和消失?classFirstViewController:UIViewController{vartitleView:UIView

ios - UINavigationController 图像不以所有设备 iOS 为中心

我在AppDelegate的didFinishLaunchingWithOptions中设置了一个UINavigationController图像,如下所示:varimage:UIImage=UIImage(named:"Header")!UINavigationBar.appearance().setBackgroundImage(image,forBarMetrics:.Default)Header是Assets.xcassets中的文件,其中包含2x和3x大小的图像。我取出了1x尺寸,因为我读到它是必要的,而且无论哪种方式都没有什么不同。在iPhone6上,图像完美居中。而在iP

ios - 在单独的 View Controller 上使用 scrollViewDidScroll 时无法更改 UINavigationBar 的样式

我在UINavigationController中嵌入了三个ViewController。FirstViewController导航到SecondTableViewController,后者导航到ThirdDetailViewController。我遇到的问题是在SecondTableViewController中使用scrollViewDidScroll方法自定义statusbar和UINavigationBar的样式时它还会覆盖堆栈中紧随其后的其他ViewController以及所有状态栏样式。有人知道如何防止scrollViewDidScroll方法影响堆栈中的其他ViewCon

ios - 将一个导航栏更改为透明会将所有导航栏更改为透明

我有一个导航Controller嵌入到我的应用程序的第一个View中。当我在一个View上将导航栏更改为透明时,它会将其更改为对所有View透明,但我似乎无法将其改回原样。我希望它对我的一些View透明,但不是全部。要设置为透明我使用:self.navigationController?.navigationBar.setBackgroundImage(UIImage(),forBarMetrics:UIBarMetrics.Default)self.navigationController?.navigationBar.shadowImage=UIImage()self.naviga