草庐IT

UINavigationbar

全部标签

ios - 如何更改UINavigationBar 底部边框的颜色?

我阅读了很多主题,但没有一个针对最新版本的Swift以清晰、一致的答案解决了这个问题。例如,thisquestion的最佳答案建议使用UINavigationBar.appearance().setShadowImage()。但是,最新版本的swift中没有这样的方法。我不想隐藏底部边框。我只想更改颜色。此外,如果能够更改高度会很棒,但我知道我在一个问题上问得太多了。编辑:我创建了一个2x1像素的图像并将其设置为shadowImage,但边框保持不变:UINavigationBar.appearance().barTintColor=UIColor.whiteColor()UINavi

ios - 如何使用 UISearchController 去除 UINavigationBar 下方的阴影

我可以使用以下代码行成功去除导航栏下方的阴影。self.navigationController?.navigationBar.shadowImage=UIImage()然而,当我添加一个搜索Controller时,阴影又出现了。self.navigationItem.searchController=UISearchController(searchResultsController:nil)我尝试了以下操作,但出现了意外行为。self.navigationController?.navigationBar.setBackgroundImage(UIImage(),for:.defa

ios - 无法更改 UINavigationBar 提示颜色

我无法更改导航栏上的提示颜色。我在viewDidLoad中尝试了下面的代码,但没有任何反应。self.navigationController?.navigationBar.titleTextAttributes=[NSAttributedStringKey.foregroundColor:UIColor.white]我错过了什么吗?上面的代码有错吗? 最佳答案 我能够在iOS11上将提示颜色设置为白色,将barStyle设置为黑色。我使用外观代理设置其他颜色属性(如所需的背景颜色):myNavbar.barStyle=UIBarS

ios - 如何关闭 UINavigationBar 的大标题?

我在UINavigationController中嵌入了一个UITableView和一个详细View:我想为“我的笔记”打开大标题,但我想为详细View关闭它。类似于默认邮件应用程序在iPhone上的工作方式。我将如何在那个segue期间更改导航栏的prefersLargeTitle属性? 最佳答案 非常简单。在您的DetailView中,您应该将navigationItem.largeTitleDisplayMode设置为.never(不是navigationController?.navigationItem.largeTitl

UINavigationBar 中的 iOS 11 UISearchBar

我想在带有新iOS11大标题的新导航栏中放置一个搜索栏。但是,搜索栏的颜色由iOS自动应用,我无法更改。if#available(iOS11.0,*){letsc=UISearchController(searchResultsController:nil)navigationItem.searchController=scnavigationItem.hidesSearchBarWhenScrolling=false}搜索栏的背景是深蓝色,但我只想将其更改为白色。设置背景颜色结果如下:navigationItem.searchController?.searchBar.backgro

ios - 修改UINavigationBar标题字体和文字颜色的方法

我想将标题的字体更改为Avenir,并将其设为白色。这是我在viewDidLoad方法中的代码:UINavigationBar.appearance().titleTextAttributes=[NSFontAttributeName:UIFont(name:"Avenir",size:20)!]UINavigationBar.appearance().titleTextAttributes=[NSForegroundColorAttributeName:UIColor.whiteColor()]这段代码只改变标题的颜色,不改变字体。此外,我尝试在AppDelegate文件中实现它,但

ios - Swift 中的透明 UINavigationBar

我正在尝试使UINavigationController中的UINavigationBar透明。我创建了UINavigationController的子类,并将其添加到我的Storyboard文件中的场景中。这是我的子类的一部分:overridefuncviewDidLoad(){super.viewDidLoad()//Doanyadditionalsetupafterloadingtheview.letsize=self.navigationBar.frame.sizeself.navigationBar.setBackgroundImage(imageWithColor(UICo

iOS UINavigationBar 按钮在 segue 返回后仍然褪色

在我的应用程序中,我有多个ViewController,大多数都有一个右侧UIBarButtonItem附有直接“显示”segue操作。转到另一个View,然后按'按钮,原始按钮项目仍然淡出,但仍然可以使用。这似乎只发生在iOS11.2下。我看不到任何设置可以执行此操作,并且至少在发生这种情况的一种情况下,没有特定的segue展开,也没有viewDidAppear处理。我会发布一些代码,但AFAICS都是默认的UINavigationBar行为。 最佳答案 这是iOS11.2中的一个错误,发生的原因是UIBarButtonItem在

iOS15适配 UINavigationBar和UITabBar设置无效,变成黑色以及uiscrollview为根试图无法到顶

今天更新了xcode13,运行项目发现iOS15以上的手机导航栏和状态栏之前设置的颜色等属性都不起作用了,都变成了黑色,滚动的时候才能变成正常的颜色,经确认得用UINavigationBarAppearance和UITabBarAppearance这两个属性对导航栏和状态栏设置才能生效。以下是示例代码(仅是背景颜色),具体属性根据自己实际情况进行设置 以下是代码:  if(@available(iOS15.0,*)){    UINavigationBarAppearance*bar=[UINavigationBarAppearancenew];    bar.backgroundColor=

iphone - 如何创建 UINavigationBar 投影

想知道为UINavigationbar创建投影。我尝试使用投影创建自定义导航栏背景,但投影覆盖了背景View。@implementationUINavigationBar(CustomImage)-(void)drawRect:(CGRect)rect{UIImage*image=[[UIImageimageNamed:@"titleBar.png"]retain];;[imagedrawInRect:rect];[imagerelease];}-(CGSize)sizeThatFits:(CGSize)size{CGSizenewSize=CGSizeMake(320,50);ret