首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

iOS开发——UINavigationBar中踩过的坑

自从升级了Xcode8,以及在做iOS10的适配工作中,我发现在NavigationBar这个控件中,有了一个小小的坑。...因为在iOS7之后,NavigationBar之后,默认有一条1px的细线,这条细线怎么去,我在这里就不赘述了,因为谷歌上以及StackOverflow上有太多的方法去除这条细线。...于是我自己得出了这么个结论,之前去除NavigationBar的这条细线的方法失效了(这里并不是说所有方法失效,至少我使用的方法是失效的),那么在发现自己有这个问题的时候,不妨可以来换一种方法实现隐藏NavigationBar...头文件中的方法声明 /** * NavigationBar底部隐藏1px的线 */ - (void)lix_hideBottomHairline; /** * NavigationBar底部显示...底部线条的隐藏和显示,这样的代码可扩展性更好。

87030

IOS开发基础系列】Navigation页面导航专题

navigationController的情况,即不是使用push方式加载子VC,而是通过AddChildViewController的方式添加的场景,则父级导航条会覆盖在子级导航条上面,所以需要在载入时把父级导航条做隐藏处理...self.navigationController.view removeFromSuperview];     [self.navigationController removeFromParentViewController]; } 2.3.5 回退按钮隐藏...          self.navigationController.navigationBar.tintColor = nil;        self.navigationController.navigationBar.translucent...-7-uibarbuttonitem 2.5.4 隐藏返回按钮 [self.navigationItem setHidesBackButton: YES]; 2.5.5 设置导航栏标题的字体颜色和大小...2.5.8 Tabbar的显示与隐藏 Tabbar的隐藏函数,其实只在Nav Push的之前调用时起作用 //隐藏Tabbar [viewController setHidesBottomBarWhenPushed

29820

NavigationBar&tabBar调色那些事儿1. 导航栏调色那些事儿2. 标签栏TableBar那些事儿

blueColor]; 1.2 改变 NavigationBar 的字体颜色 NavigationBar 上面有两处可以改变字体颜色,一是标题,二是左右按钮的文字。...下方的阴影 iOS 7 NavigationBar的下方默认是有一条阴影的,如果想要 NavigationBar 和下面内容的背景颜色融为一体的话,就要去掉这个阴影。...NSForegroundColorAttributeName : [UIColor whiteColor] } forState:UIControlStateSelected]; 1.5 改变 StatusBar 的颜色 iOS7...StatusBar 有时候为了实现沉浸式设计,比如 app 首次打开的引导页,需要隐藏整个 StatusBar,方法如下: 状态栏的高度是20 方法一: 和改变 StatusBar 颜色一样,在 Info.plist...List 中添加一个 Key为View controller-based status bar appearance的 item,其 Type 设为 Boolean,Value 设为 NO 方法二: 在需要隐藏

1.5K50

iOS系统中导航栏的转场解决方案与最佳实践

在转场的过程中隐藏原有的导航栏并添加假的 NavigationBar,当转场结束后删除假的 NavigationBar 并恢复原有的导航栏,这一过程可以通过 Swizzle 的方式完成,而每个 ViewController...并将真的导航栏隐藏。...等到页面 B 调用 viewWillLayoutSubviews 的时候,转场库会在页面 B 自身的 view 上添加一个与真的导航栏一模一样的 NavigationBar,同时将真的导航栏隐藏。...如果真的要隐藏导航栏 如果我们需要隐藏导航栏,请保证所有的 ViewController 能坚持如下原则: 每个 ViewController 只需要关心当前页面下的导航栏是否被隐藏。...转场动画与导航栏隐藏动画的一致性 如果在转场的过程中还会显示或者隐藏导航栏的话,请保证两个方法的动画参数一致。

2.3K30

iOS状态栏使用总结

目录: 一、状态栏与导航栏 二、设置状态栏显隐与字体样式 三、设置状态栏背景色 四、启动页隐藏状态栏 五、状态栏、导航栏相关的常用宏定义 相关文章:iOS导航栏的使用总结 一、状态栏与导航栏 状态栏...:显示时间、电池等信息 导航栏:显示app页面标题,返回按钮等 iOS7之前:状态栏与导航栏是分开的; iOS7之后:状态栏与导航栏合在一起;导航部分总高度(64)= 状态栏高度(20) +导航栏内容高度...((44) iPhoneX设备出现以后,状态栏的高度变为44,导航栏部分总高度(88) = 状态栏(44) + 导航栏内容高度(44) 二、设置状态栏显隐与字体样式 iOS状态栏可以设置显示和隐藏,也可以设置文字的颜色...,状态栏文字为白色 self.navigationController.navigationBar.barStyle = UIBarStyleBlack; 三、设置状态栏背景色 iOS7之后的状态栏和导航栏融合在一块...四、启动页隐藏状态栏 App启动页如果不需要显示状态栏信息,可以设置隐藏

1.8K30

UINavigationController 导航控制器概念属性方法

概念 UINavigationController 继承于 UIViewController 包含:viewcontrollers、NavigationBar、Toolbar 导航控制器是一个堆栈结构,...(通过navigationController. navigationBar方式可以调用) NavigationBar管理多个NavigationItem,和NavigationController一样都是用...isNavigationBarHidden) BOOL navigationBarHidden; 5、 获取导航栏 @property(nonatomic,readonly) UINavigationBar *navigationBar...(null_resettable,nonatomic,readonly) UIToolbar *toolbar; 8、获取导航中的返回手势对象(iOS7之后,在导航中右划会进行pop操作,设置这个的enable...压入新的视图控制器 - (void)pushViewController:(UIViewController *)viewController animated:(BOOL)animated; 这个方法是为了iOS

2.1K60

iOS透明导航栏的平滑过渡(进阶版)引实现过程结

引 如我在传送门:iOS导航栏切换界面时隐藏和显示中所说,现在很多App的个人中心模块都是不保留导航栏的,会直接使导航栏透明,比如做的很好的QQ个人信息界面: 为什么说QQ做的很好呢?...而很多App的做法其实比较粗糙,类似于我在传送门:iOS导航栏切换界面时隐藏和显示中的做法,需要导航栏透明时,直接将导航栏隐藏起来。...iOS没有直接给我们提供对于导航栏背景view的访问途径,那么我们只能自己来找了。...,下面这种方法是比较好的方法: // 对导航栏下面那条线做处理 self.navigationBar.clipsToBounds = alpha == 0.0; 当我们对导航栏的透明度设为 0 时,就会隐藏细线...,否则不隐藏,这样当切换到其他界面时,细线就又会出来了。

2.8K40

iOS导航栏使用总结

目录: 一、设置导航栏样式 二、解决自定义导航栏返回按钮后侧滑不可用问题 三、隐藏导航栏底部的分割线 四、导航栏引起的布局问题 相关文章:iOS状态栏的使用总结 一、设置导航栏样式 设置导航栏的样式可分为全局设置与局部设置...setBarTintColor:[UIColor orangeColor]]; } 二、解决自定义导航栏返回按钮后侧滑不可用问题 iOS导航栏自带的返回按钮形式单一,所以大多情况下,我们都需要自定义导航栏返回按钮...隐藏导航底部分割线也是我们偶尔会遇到的开发需求,首先我们可以通过Xcode的Debug View Hierarchy功能查看导航栏的视图结构,效果如下: ?...]; self.navBarBottomImage = navBarBottomImage; } //第四步:设置分割线的显示或隐藏 //进入页面隐藏分割线 - (void)viewWillAppear...如果还设置其布局的原点是(0,0),其内容就会被导航栏所覆盖,关键代码如下: //automaticallyAdjustsScrollViewInsets在11.0后失效,所以需要判断 if (@available(iOS

3.1K20

iOS状态栏设置

状态栏配置 iOS状态栏的设置有两种方式 这两种方式是根据UIViewControllerBasedStatusBarAppearance也就是View controller-based status...设置前景色为黑色 UIApplication.sharedApplication().setStatusBarStyle(UIStatusBarStyle.Default, animated: false); 设置隐藏...UIStatusBarAnimation.Slide } ViewController加载时会自动调用preferredStatusBarStyle方法和prefersStatusBarHidden方法 如果要想之后事件里设置前景色或隐藏的话...,可以把样式和是否隐藏设置为全局变量,修改变量后直接调用 self.setNeedsStatusBarAppearanceUpdate() 但是发现上面的动画配置不生效,按下面的方式调用就可以了 UIView.animateWithDuration...) appear.shadowImage = UIImage(); 5) 在translucent=true也就是透明时,如果用扇面的方式去掉navigationBar下的黑线,会导致状态栏颜色与navigationBar

2.5K11
领券