iOS小程序底部导航航叫什么

拒绝访问 | www.wangchao.net.cn | 百度云加速
请打开cookies.
此网站 (www.wangchao.net.cn) 的管理员禁止了您的访问。原因是您的访问包含了非浏览器特征(3f2dd5dac5254ccc-ua98).
重新安装浏览器,或使用别的浏览器ios开发中经常碰到各种需求,比如要求导航栏的颜色和self.view的颜色一样,当我们直接设置navigationBar的颜色和view一样时,我们会发现navigationBar还会有一条分割线留下,本文就是介绍怎么隐藏导航栏底部的分割线的。
第一种方法:不会影响导航栏translucent 半透明的显示
首先在viewDidLoad&定义一个 UIImageView *navigationImageView 来存储底部分割线。
UIImageView *navigationImageView = [self findHairlineImageViewUnder:self.navigationController.navigationBar];
self.navigationImageView = navigationImageV
找到导航栏底部的横线
-(UIImageView *)findHairlineImageViewUnder:(UIView *)view {
if ([view isKindOfClass:UIImageView.class] && view.bounds.size.height &= 1.0) {
return (UIImageView *)
for (UIView *subview in view.subviews) {
UIImageView *imageView = [self findHairlineImageViewUnder:subview];
if (imageView) {
return imageV
在viewWillAppear隐藏分割线,在viewDidDisappear中显示分割线
-(void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
self.navigationImageView.hidden = YES;
-(void)viewDidDisappear:(BOOL)animated {
[super viewDidDisappear:animated];
self.navigationImageView.hidden = NO;
第二种方法:会删除导航栏&translucent 半透明的显示。
// @"navImage" 导航栏的颜色
[self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"navImage"] forBarPosition:UIBarPositionAny barMetrics:UIBarMetricsDefault];
[self.navigationController.navigationBar setShadowImage:[UIImage new]];
-------------------------------------
想要了解更多的做法请访问http://www.4byte.cn/question/448208/how-to-hide-ios7-uinavigationbar-1px-bottom-line.html
阅读(...) 评论()Pages: 1/2
主题 : 怎样隐藏navigationController底部的导航栏?
级别: 精灵王
可可豆: 13044 CB
威望: 13351 点
在线时间: 1643(时)
发自: Web Page
怎样隐藏navigationController底部的导航栏?&&&
navigationController\
self.navigationController.hidesBottomBarWhenPushed=YES; 这个只能隐藏顶部的导航栏
底部的怎样隐藏
级别: 光明使者
UID: 61619
发帖: 6036
可可豆: 45827 CB
威望: 48121 点
在线时间: 1131(时)
发自: Web Page
这个就是隐藏底部的吧。。。
级别: 精灵王
UID: 35043
发帖: 1566
可可豆: 10290 CB
威望: 10290 点
在线时间: 3548(时)
发自: Web Page
回 楼主(zzxap) 的帖子
这个就是隐藏底部的,想隐藏更好的效果看这里
级别: 骑士
可可豆: 1832 CB
威望: 1832 点
在线时间: 334(时)
发自: Web Page
一般底部都是UIToolbar [self.toolBar setHidden:YES];此方法即可
级别: 精灵王
可可豆: 13044 CB
威望: 13351 点
在线时间: 1643(时)
发自: Web Page
这个要push才能隐藏。但我想在当前业按一个按钮,把底部隐藏掉。
级别: 侠客
可可豆: 652 CB
威望: 652 点
在线时间: 140(时)
发自: Web Page
为什么NAVIGATION底部有东西??
级别: 骑士
可可豆: 1832 CB
威望: 1832 点
在线时间: 334(时)
发自: Web Page
nav就内一个方法 如果你用的是这个 隐藏不了 只能说明你的针对的对象有问题&& 上下一起nav&&....
级别: 精灵王
可可豆: 13044 CB
威望: 13351 点
在线时间: 1643(时)
发自: Web Page
引用 引用第3楼helmsman_mfc于 15:41发表的&&:一般底部都是UIToolbar [self.toolBar setHidden:YES];.......
.m:145: error: request for member 'toolBar' in something not a structure or union
级别: 侠客
UID: 556246
可可豆: 195 CB
威望: 175 点
在线时间: 115(时)
发自: Web Page
隐藏tabBarController(标签栏)//    [self.tabBarController.tabBar setHidden:YES];//    [self.tabBarController.view setFrame:[UIScreen mainScreen].bounds];      // 黑科技隐藏Status bar(状态栏)[[UIApplication sharedApplication] setStatusBarHidden:YES];隐藏NavigationBar(导航栏)[self.navigationController setNavigationBarHidden:YES animated:YES];
级别: 骑士
UID: 548081
可可豆: 1934 CB
威望: 1286 点
在线时间: 355(时)
发自: Web Page
以希望为生的人,必将绝食而死。
Pages: 1/2
关注本帖(如果有新回复会站内信通知您)
发帖、回帖都会得到可观的积分奖励。
按"Ctrl+Enter"直接提交
关注CocoaChina
关注微信 每日推荐
扫一扫 关注CVP公众号
扫一扫 浏览移动版他的最新文章
他的热门文章
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)iOS导航栏和底部tabbar的隐藏和背景色 - 简书
iOS导航栏和底部tabbar的隐藏和背景色
我项目的主页常见的是UITabbarController + UINavigationController形式
下午7.54.45.png
因为导航栏是自定义的,所以需要把所有导航栏都隐藏掉,再在每个界面自己写导航栏视图(感觉好坑啊,以后应该会改)
因此,我写了重写了
一个继承于UINavigationController的NavigationController
和一个继承于UITabBarController的TabBarController。
一. TabBarController中的代码如下:
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the
//A,(B、C一样)
ViewControllerA *aVC = [ViewControllerA new];
aVC.tabBarItem.title = @"主页";
aVC.tabBarItem.image = [[UIImage imageNamed:@"a_unselected"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
aVC.tabBarItem.selectedImage = [[UIImage imageNamed:@"a_selected"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
NavigationController *aNavi = [[NavigationController alloc] initWithRootViewController:aVC];
//设置tabBar背景色
[self.tabBar setBackgroundImage:[Tool createImageWithColor:UIColorFromHex(0x63DDA1)]];
//字体颜色
[[UITabBarItem appearance] setTitleTextAttributes:@{NSForegroundColorAttributeName: [UIColor whiteColor]} forState:UIControlStateNormal];
[[UITabBarItem appearance] setTitleTextAttributes:@{NSForegroundColorAttributeName: UIColorFromHex(0xEE9754)} forState:UIControlStateSelected];
self.viewControllers = @[aNavi, bNavi, cNavi];
二. 在NavigationController中
之前的写法(×):
//重写方法[pushViewController: animated:]
//可拦截NavigationController子控制器中所有的push操作,
//因此在其中设置一句隐藏代码,其他界面就都不用设置了。
- (void)pushViewController:(UIViewController *)viewController animated:(BOOL)animated
//隐藏tabbar,(A、B、C界面上不隐藏,其他界面都隐藏)
//一定要在push之前隐藏,否则无效,
//所以,如果在调用 [super pushViewController: animated:] 后再写判断隐藏是无效的
if ([viewController isKindOfClass:[ViewControllerA class]] ||
[viewController isKindOfClass:[ViewControllerB class]] ||
[viewController isKindOfClass:[ViewControllerC class]])
viewController.hidesBottomBarWhenPushed = NO;
viewController.hidesBottomBarWhenPushed = YES;
//先调用父类push
[super pushViewController:viewController animated:animated];
//隐藏导航栏,
[viewController.navigationController setNavigationBarHidden:YES];
更正(√):
//旧的写法不仅繁琐,而且,当要push的页面在tabBar中也有时处理会很麻烦。
//只要navigationController.viewControllers的第一个控制器隐藏就行了
- (void)pushViewController:(UIViewController *)viewController animated:(BOOL)animated
if ((self.viewControllers.count & 0) && (viewController != self.viewControllers[0])) {
viewController.hidesBottomBarWhenPushed = YES;
[super pushViewController:viewController animated:animated];
[viewController.navigationController setNavigationBarHidden:YES];
然后就ok了。
另外,关于TabBar设置背景颜色,我遇到两个坑
使用代码直接设置背景颜色居然无效!
[[UITabBar appearance] setBackgroundColor:UIColorFromHex(0x63DDA1)];
百度了下得设置背景图片才有效,经试验 下面3中设置方法均有效
[self.tabBar setBackgroundImage:[Tool createImageWithColor:UIColorFromHex(0x63DDA1)]];
[[UITabBar appearance] setBackgroundImage:[Tool createImageWithColor:UIColorFromHex(0x63DDA1)]];
//3. 第3种千万别忘了设置self.tabBar.opaque = YES,否则还是会出现tabBar的效果
UIView *tabBarBgColorView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, self.tabBar.bounds.size.width, self.tabBar.bounds.size.height)];
tabBarBgColorView.backgroundColor = UIColorFromHex(0x63DDA1);
[self.tabBar insertSubview:tabBarBgColorView atIndex:0];
self.tabBar.opaque = YES;
把16进制转换成颜色的宏定义:
#define UIColorFromHex(s) [UIColor colorWithRed:(((s & 0xFF0000) && 16))/255.0 green:(((s & 0xFF00) && 8))/255.0 blue:((s & 0xFF))/255.0 alpha:1.0]
#define UIColorFromHexA(s, a) [UIColor colorWithRed:(((s & 0xFF0000) && 16))/255.0 green:(((s & 0xFF00) && 8))/255.0 blue:((s & 0xFF))/255.0 alpha:a]
#define UIColorFromRGBA(r, g, b, a) [UIColor colorWithRed:(r)/255.0f green:(g)/255.0f blue:(b)/255.0f alpha:(a)]
用颜色生成图片的代码:
//用颜色创建一张图片
+ (UIImage *)createImageWithColor:(UIColor *)color
CGRect rect = CGRectMake(0.0f, 0.0f, 1.0f, 1.0f);
UIGraphicsBeginImageContext(rect.size);
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetFillColorWithColor(context, [color CGColor]);
CGContextFillRect(context, rect);
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
梦想满天星辰
用到的组件1、通过CocoaPods安装项目名称项目信息 AFNetworking网络请求组件 FMDB本地数据库组件 SDWebImage多个缩略图缓存组件 UICKeyChainStore存放用户账号密码组件 Reachability监测网络状态 DateTools友好...
用到的组件1、通过CocoaPods安装项目名称项目信息AFNetworking网络请求组件FMDB本地数据库组件SDWebImage多个缩略图缓存组件UICKeyChainStore存放用户账号密码组件Reachability监测网络状态DateTools友好化时间MBP...
*7月8日上午 N:Block :跟一个函数块差不多,会对里面所有的内容的引用计数+1,想要解决就用__block或__weak给其重新命名一遍 写的方法 (1)Bolck 的实现:返回值(^名字)(形式参数……)=^返回值(实参……){代码,有返回值的话就返回}; (2)...
发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注
09:45字数 61697阅读 3316评论 2喜欢 85 用到的组件 1、通过CocoaPods安装 项目名称 项目信息 AFNetworking 网络请求组件 FM...
通过CocoaPods安装 AFNetworking 网络请求组件FMDB 本地数据库组件SDWebImage 多个缩略图缓存组件UICKeyChainStore 存放用户账号密码组件Reachability 监测网络状态DateTools 友好化时间MBProgressH...
总是在孤独无助的时候黯然神伤,内心被恐惧和脆弱所吞噬。 大学毕业已经三年了,时光一晃而过,我还是那个我,没有变强大也没有变美丽,唯一发生的变化就是心态越来越平和,似乎被周围的环境同化了,变成了我以前不屑的那种人。无数次想要离开这里,想要去大城市里看看,是否能容得下我这个平凡...
这两天,经过一些事情的串联,发现自己在选择面前,做出改变或者不改变的选择还是受到自己不想改变现状的限制。 做出的选择没有因为遵循一个愿景或者目标性。 如果我改变可以维持现状,那我就选择改变,如果我不改变可以维持现状,那么我就不改变,这是一个非常值得注意的地方,因为,有时候很...
彩绘甲可以说是美甲行业中最复杂,也是最能体现功力的美甲方式。其用到的工具和颜料之多,都是别的美甲方式所不能企及的。而美甲彩绘笔就是在这里面占据着最重要的作用,只有把彩绘笔运用巧妙,所做出来的彩绘甲才能更好地吸睛。下面就由苏三说美甲来教大家一些关于彩绘笔的知识。 闪粉刷 用于...
党的组织生活是党的生活的重要内容,是党组织对党员进行教育、管理、监督的重要形式。然而,党的组织生活不经常、不认真、不严肃等问题,在一些地方单位机关党组织中并不少见,有的党员甚至把参加党的组织生活当作一种“负担”,不愿参加。这些都是党的观念淡漠、组织涣散、纪律松弛的明显表...
自由写作.转型与蜕变第二期第1篇 因为要准备新一年的进店了,这几天在研究CEM的资料。 CEM的宗旨是“打造客户钟爱的差异化体验!” 介绍资料中列了如下术语: 亮点:超出常规的卓越表现,可由他人分享和复制; 独特时刻:在关键客户接触点的差异化体验; 独特体验故事:体现我们工...

我要回帖

更多关于 小程序底部导航 的文章

 

随机推荐