的颜色 appear.barTintColor = UIColor(red: 39/255, green: 157/255, blue: 244/255, alpha: 1.0); //设置背景色(不透明时没用...,因为barTintColor在backgroundColor的上一层) appear.backgroundColor = UIColor(red: 39/255, green: 157/255, blue...*appear = [UINavigationBar appearance]; appear.tintColor = [UIColor clearColor]; appear.barTintColor...= [UIColor colorWithRed:52.0/255 green:146.0/255 blue:233.0/255 alpha:1]; appear.backgroundColor =...NSForegroundColorAttributeName]; //大功告成 self.navigationController.navigationBar.titleTextAttributes = dict; 设置透明
= [UIColor blueColor]; //如果使用的是backgroundColor,就会自带毛玻璃效果 self.navigationBar.backgroundColor = [UIcolor...[[UINavigationBar appearance] setBackgroundImage:[UIImage new] forBarMetrics:UIBarMetricsDefault];[[UINavigationBar...,而且系统会根据 app的颜色自动改变 status bar 的字体颜色(黑和白)。...但是这个自动改变的字体颜色并不一定和所有的 app 都搭配,比如我们 app 的主题色是稍微浅一丢丢的蓝,但是系统匹配的 status bar 的字体颜色就是黑色,看起来就很不爽,所以就要强制将其改为白色...2.2 关闭半透明效果 一旦关闭标签栏的半透明效果,控制器的view就不会到达屏幕最底部了,而是到了标签栏的紧上方。
setBackgroundImage:[UIImage imageNamed:@"Background"] forBarMetrics:UIBarMetricsDefault]; 复制代码 状态栏字体颜色和隐藏...,则需要在plist文件中添加View controller-based status bar appearance 字段,值为NO ,意为不使用控制器管理状态栏。...gestureRecognizer shouldReceiveTouch:(UITouch *)touch{ return self.childViewControllers.count > 1; } 复制代码 导航栏透明和底部分隔线...方法二 UIButton* leftButton = [UIButton buttonWithType:UIButtonTypeSystem]; leftButton.backgroundColor...push和pop方法。
增加UISheetPresentationController,通过它可以控制 Modal 出来的 UIViewController 的显示大小,且可以通过拖拽手势在不同大小之间进行切换。...UIButton.Configuration是一个新的结构体,它指定按钮及其内容的外观和行为。...// hierarchicalColor:多层渲染,透明度不同 let config = UIImage.SymbolConfiguration(hierarchicalColor: .systemRed...UINavigationBar、UIToolbar 和 UITabBar 设置颜色,需要使用 UIBarAppearance APIs。...// UINavigationBar let navigationBarAppearance = UINavigationBarAppearance() navigationBarAppearance.backgroundColor
statusBar的颜色 在navigationBar上addSubView该UIView即可 UINavigationBar设置 上面说了状态栏 这里顺便把UINavigationBar也说了 我的配置...let appear = UINavigationBar.appearance(); //在早期版本上设置 不能全局的方式设置 会导致app崩溃 //appear.translucent = false...,因为barTintColor在backgroundColor的上一层) appear.backgroundColor = UIColor(red: 52/255, green: 146/255, blue...; 注意 1) appear.translucent配置在早期系统会崩溃,不建议配置,建议在ViewController中配置 2) 在translucent=true也就是透明时,barTintColor...不起作用,backgroundColor起作用 3) 在translucent=false也就是不透明时,barTintColor起作用,backgroundColor不起作用 4) 在translucent
; 1.全局设置 全局设置一般的都是在AppDelegate中设置,这样整个app都会生效,相关的代码与效果图如下: //1.设置导航栏背景颜色 [[UINavigationBar appearance...: iOS系统的导航栏UINavigationBar与标签栏UITabBar默认都是半透明模糊效果,在这种情况下系统会对视图控制器的UI布局进行优化:视图控制器里面第一个被添加进去的视图是滑动类视图,并且其...我们可以通过一段代码来测试一下效果,在默认导航栏(半透明)的视图控制器里添加如下代码: //UITextView是滑动视图,内容自动向下偏移,不会被导航栏覆盖 UITextView *leftTextView...导航栏透明情况下,滑动视图自动偏移,普通视图被遮挡 其实,这种系统的优化也是可以控制关闭的,关闭优化之后,滑动视图就会和普通视图一样,如果还设置其布局的原点是(0,0),其内容就会被导航栏所覆盖,关键代码如下...self.edgesForExtendedLayout=UIRectEdgeNone 3.导航栏透明属性translucent 上述两种属性都是在解决导航栏半透明情况下的布局问题,但是如果我们的需求就是导航栏不透明
iOS开发UINavigation系列三——工具栏UIToolBar iOS中除了UINavinationBar之外,还有工具栏UIToolBar可以供我们使用,工具栏和导航栏十分类似,...只是功能更加简单,工具栏中也有UIBarButtonItem按钮,在前两篇博客中,对导航栏和导航项都进行的讨论,地址如下: UINavigationBar:http://my.oschina.net/u...创建一个工具栏如下: self.view.backgroundColor = [UIColor grayColor]; UIToolbar * tool = [[UIToolbar alloc...下面是UIToolBar中的一些方法,其中大部分在UINavigationBar中都有涉及,这里只做简单的介绍: //工具栏的风格,和导航栏类似,有黑白两种 @property(nonatomic) UIBarStyle...barStyle; //设置工具栏上按钮数组 @property(nullable,nonatomic,copy) NSArray *items; //设置工具栏是否透明
iOS开发UINavigation系列一——导航栏UINavigtionBar 一、导航栏的使用 在iOS开发中,我们通常会使用导航控制器,导航控制器中封装了一个UINavigationBar...,实际上,我们也可以在不使用导航控制器的前提下,单独使用导航栏,在UINavigationBar中,也有许多我们可以定制的属性,用起来十分方便。...我们也可以设置导航栏的风格属性,从iOS6之后,UINavigationBar默认为半透明的样式,从上面也可以看出,白色的导航栏下面透出些许背景的红色。...三、导航栏常用属性和方法 从上面我们可以看到,iOS6后导航栏默认都是半透明的,我们可以通过下面的bool值来设置这个属性,设置为NO,则导航栏不透明,默认为YES: @property...nullable NSArray *)items animated:(BOOL)animated; 五、UINavigationBarDelegate 在UINavigationBar
背景 按照往年新系统发布的时间规律,新的系统预计在9月20日左右发布,目前beta版本已经更新到beta6。...想必都看过WWDC2021的Session了,Session原版视频依然是最有效的get新特性的渠道,iOS15多的特性就不说了,我就整理了我在适配iOS15路上的一些更改和调整。...适配以iOS15 beta6和xcode13 beta5为环境基础 UINavigationBar 用新xcode13编译工程后,导航栏的问题比较明显,调试之后发现是UINavigationBar部分属性的设置在...UIColor.clear.image, for: .default) // 导航栏背景,主题色是绿色 navigationBar.barTintColor = UIColor.theme // 默认不透明...UINavigationBarAppearance来实现,UINavigationBarAppearance是iOS13更新的API,应该有人已经在用,我们的应用兼容iOS10以上,对于导航栏的设置还没有使用
设置UINavigationBar的titleView和UISearchBar背景透明 self.titleSearchBar = UISearchBar(frame: CGRectMake(0,0,200,44...)); self.titleSearchBar.backgroundColor = UIColor.clearColor(); self.titleSearchBar.barStyle = UIBarStyle.BlackTranslucent...; self.titleSearchBar.placeholder = "搜索你感兴趣的主题和回复"; for sView in self.titleSearchBar.subviews[0].subviews
UINavigationBarDel 协议 实现下面方法: #pragma mark --------- UINavigationBarDelegate - (BOOL)navigationBar:(UINavigationBar...self.view.backgroundColor = [UIColor whiteColor]; //重新设置下级子页面导航栏返回按钮文字 UIBarButtonItem *...*)navigationBar shouldPushItem:(UINavigationItem *)item { //设置导航栏返回按钮文字为透明的,可能造成导航标题不居中的问题...forState:UIControlStateHighlighted]; return YES; } 方案三(推荐) 给 UIViewController 添加类别(这里的类别不需要导入可直接使用...) 然后在 load 方法里面用 Method Swzilling 方法替换交换 ViewDidAppear 方法,代码如下: #import "UIViewController+HideNavBackTitle.h
http://sinye.iteye.com/blog/2093281 (Good)【IOS开发】UITabBarController和UINavigationController结合使用。... 将NavigationBar设置透明(仅将指定视图控制器进行透明处理),步骤如下: 1.在视图控制器的头文件中实现UINavigationControllerDelegate,... 方法一:(自定义视图的方法,一般人也会采用这样的方式) 就是在导航向上添加一个titleView,可以使用一个label,再设置label的背景颜色透明,字体什么的设置就很简单了...否则会导致页面切换时选中状态不准确 TabBar与导航条混用时,TabBarItem的设置是在NavigationController中,而不是内容Controller中,切记!!!...否则会导致页面切换时选中状态不准确。
引 如我在传送门:iOS导航栏切换界面时隐藏和显示中所说,现在很多App的个人中心模块都是不保留导航栏的,会直接使导航栏透明,比如做的很好的QQ个人信息界面: 为什么说QQ做的很好呢?...既然有透明的导航栏也有不透明的导航栏,那一定会在界面切换之间存在一个过渡的过程,而这个过程,QQ做的特别好,在从透明导航栏界面返回到不透明导航栏界面时,导航栏的透明度是一个渐进的过渡效果,甚至会有一种毛玻璃的效果...而很多App的做法其实比较粗糙,类似于我在传送门:iOS导航栏切换界面时隐藏和显示中的做法,需要导航栏透明时,直接将导航栏隐藏起来。...; 2、在导航栏透明与否的界面间切换时透明度有渐变效果; 3、在UINavigationController体系和UITabarController体系下切换界面都很完美。...,但在透明的导航栏与不透明的导航栏界面直接切换时,导航栏的透明度是直接跳变的: 而我们想要的是像QQ一样从完全透明到不透明之间有一个随着滑动手势变化的透明度渐变效果,这样是最好的转场效果了。
iOS 15导航栏设置 背景 使用Xcode 13.0运行项目到iOS 15的手机上,出现导航栏黑色。但是在低版本Xcode 运行到手机就没有问题。 <!...代码如下: - (void)updateNavigationBarColor:(UIColor *)color { UINavigationBar *bar = self.navigationController.navigationBar...UINavigationBarAppearance *barAppearance = [UINavigationBarAppearance new]; barAppearance.backgroundColor...NSFontAttributeName : [UIFont fontWithName:@"Helvetica-Bold" size:17]}; // 设置导航栏字体颜色和大小...setBackgroundImage:[UIImage wps_createImageWithColor:color] forBarMetrics:UIBarMetricsDefault]; } 参考 How to hide UINavigationBar
layer.masksToBounds=true; layer.cornerRadius = cell.leftImageView.bounds.size.width/2; 我常用的全局设置 let appear = UINavigationBar.appearance...的颜色 appear.barTintColor = UIColor(red: 52/255, green: 146/255, blue: 233/255, alpha: 1.0); //设置背景色(不透明时没用...,因为barTintColor在backgroundColor的上一层) appear.backgroundColor = UIColor(red: 253/255, green: 150/255, blue...() -> UIStatusBarStyle { return UIStatusBarStyle.LightContent; } NavigationController 属性设置 //设置是否透明...navigationBarHidden = true; //设置标题 self.navigationItem.title = "我是标题"; 全局设置 var appear = UINavigationBar.appearance
前言 在开发需求时app中使用的导航条在一个模块的主题基本是一致的,因此可通过自定义导航条来进行统一控制。...,尤其在短信分享这方面要注意 UINavigationBar *navigationBar; if (IOS9) { //9.0的API navigationBar...*标题:@property(nonatomic,copy) NSDictionary *titleTextAttributes;// 字典中能用到的key在UIStringDrawing.h中// 最新版本的...- (void)backAction{ [self popViewControllerAnimated:YES]; } 复制代码 1.5 去掉透明后导航栏下边的黑边...UINavigationBarAppearance *appearance = [[UINavigationBarAppearance alloc] init]; //去掉透明后导航栏下边的黑边
问题 最近接手一个老项目,发现每次push一个新VC,导航栏状态栏都默认为黑色,并且在滚动的过程中渐变成白色,到处搜索都没定位到哪里配置了backgroundColor = blackColor 解决方案...其实是iOS13后苹果更新UINavigationBar属性参数配置问题引起,配置以下方法解决: if (@available(iOS 13.0, *)) { UINavigationBarAppearance...appearance = [UINavigationBarAppearance new]; [appearance configureWithOpaqueBackground];//重置导航栏背景颜色和阴影...appearance.backgroundColor = [UIColor whiteColor]; // appearance.shadowImage = [UIImage
UINavigationBar是一个我们在开发中必定会碰到的控件,用好它能帮助我们自定义导航栏的样式,所以今天讲解一下UINavigationBar的用法。...UIImage imageNamed:@"123.jpg"] forBarMetrics:UIBarMetricsDefault]; //表示横屏竖屏都显示 UIBarMetricsDefault, //表示在只横屏下才显示...,和UIBarMetricsLandscapePhone功效一样,不过iOS8已经弃用了 UIBarMetricsCompact, UIBarMetricsDefaultPrompt和UIBarMetricsCompactPrompt..., 60, 40)]; UIButton* leftButton = [UIButton buttonWithType:UIButtonTypeSystem]; leftButton.backgroundColor...UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); return image; } @end 设置导航栏底部线条颜色的代码: UINavigationBar
[[UINavigationBar appearance] setBarTintColor: RGB(3, 14, 30, 1)]; 你会发现你设置的导航颜色是正常的色值,但是就是偏淡,那是因为导航的默认属性是半透明的...UINavigationItem属于MVC中的M,封装了要显示在UiNavigationBar上的数据,定义了UINavigationItem上按钮的触发事件,外观等 -initWithBarButtonSystemItem...提供push和pop操作item....每个视图控制器都有一个navigationItem属性,navigationItem中设置的做按钮、右按钮、标题等,会随着控制器的显示,也显示到navigationBar上 我们来看一下这些名词是什么意思,彼此之间是什么关系...`,不常使用。
iOS头部渐变的表格视图设计 今天再来给大家带来一个开发中常用到的视图控制器,在很多应用中,可能都会遇到这样的一个需求:表视图控制器最上方有一个头图控件,当表格视图滑动在顶部时,导航栏透明...在设计控件之前,我们应该先编写控件的头文件,头文件中将控件需要的属性和方法列举,之后再按定义好的接口一步步的来实现控件的编写设计,这样可以结构清晰,并且不会显得无从下手,控件的头文件设计如下: // /...(nonatomic,strong)UIView * animatedHeaderView; /** * 设置TableView的头视图 * * 注意:设置tableView的头视图不能够在使用...,我主要考虑两个需要优化的地方,第一是这个控制器在不同的场景下可能会有不同的结构,例如在导航结构中被push出来或者通过模态跳转被present出来,我在这个控件的实现时做了兼容,实际上无论有无导航,控件内部都没有使用系统的导航栏...:nil]; } } } } } @end 在使用时
领取专属 10元无门槛券
手把手带您无忧上云