动态 改变导航栏透明度

#pragma mark - 实现代理方法  UINavigationBarDelegate 改变导航栏的颜色等功能

- (void)navigationController:(UINavigationController *)navigationController didShowViewController:(UIViewController *)viewController animated:(BOOL)animated

{

self.navigationController.navigationBar.barStyle = UIBarStyleBlackTranslucent;

UIImage *image = [UIImage imageNamed:@"128"];

[self.navigationController.navigationBar setBackgroundImage:image forBarMetrics:UIBarMetricsDefault];

UIView *view = self.navigationController.navigationBar.subviews[0];

if (_tableView.contentOffset.y <= - 64) {

self.navigationController.navigationBar.translucent = YES;

view.alpha = 0;

} else if(_tableView.contentOffset.y > - 64 && _tableView.contentOffset.y <= 0) {

self.navigationController.navigationBar.translucent = YES;

view.alpha = (64 - fabs(_tableView.contentOffset.y)) / 200.0f;//绝对值

} else {

view.alpha = (_tableView.contentOffset.y + 128) / 200.0f;

if (view.alpha >= 1) {

self.navigationController.navigationBar.translucent = NO;

}

}

DLog(@"%f", _tableView.contentOffset.y);

}

时间: 2024-10-14 23:51:06

动态 改变导航栏透明度的相关文章

动态获取导航栏

这里记录的是两层的导航栏.首先数据库中建两张表,一张存储父节点数据,另一张存储子节点数据,结构如下 父表: 子表: 这里有两种方式实现导航栏.第一种,通过两个Repeater循环得到并展示导航栏.第二种,通过拼json方式传给前台,前台动态拼html得到导航栏. 首先记录第一种方法: protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { Repeater1.DataSource = getfa

导航条——动态改变导航菜单的背景颜色

1.概述 在浏览一些网站时,当鼠标经过导航菜单某一项时,其背景颜色将切换为其他颜色,实现这种简单的效果会更吸引浏览者的注意. 2.技术要点 本实例主要是应用JavaScript方法来动态改变<td>标签的背景颜色实现的.当鼠标经过<td>表示的导航菜单时,会触发onMouseOver事件,然后调用自定义的JavaScript方法改变<td>的背景颜色:当鼠标移出<td>时,会触发onMouseOut事件,调用自定义的JavaScript方法还原背景颜色为初始

一个动态小导航栏(好看的,用C3)(不依赖js,点击小图切换大的背景图)

<!DOCTYPE HTML><htmllang="en-US">    <head>        <meta charset="UTF-8">     <title>CSS3 Full Background Slider </title>        <style type="text/css">            @importurl("ht

iOS 改变导航栏高度

需求: appdelegate里 rootviewcontroller 是tabbarcontroller,tabbarcontroller里有4个navigationcontroller,改变每个navigationbar的高度 问题参考SO里的方法:,在每个controller里的viewwillappear添加这样的方法:然而没卵用 - (void)viewWillAppear { UINavigationBar *navigationBar = [[self navigationCont

iOS设置导航栏透明度

As I support Colin's answer, I want to give you an additional hint to customize the appearance of an UINavigationBar including the alpha. The trick is to use UIAppearance for your NavigationBar. This enables you to assign an UIImage to your Navigatio

iOS滑动tableView来改变导航栏的颜色-1

-(void)scrollViewDidScroll:(UIScrollView *)scrollView {   [self.navigationController.navigationBar setBackgroundImage:[self imageWithBgColor:[UIColor colorWithRed:self.tableView.contentOffset.y/255 green:255/255 blue:255/255 alpha:1]] forBarMetrics:U

改变导航栏下方默认横线的样式

用图片替换: -(void)viewDidLoad{ [super viewDidLoad]; CALayer *border = [CALayer layer]; border.borderColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"navigationBarUnderline"]].CGColor; border.borderWidth = 1; CALayer *layer = self.navigat

iOS滑动tableView来改变导航栏的颜色

- (void)viewDidLoad { [super viewDidLoad]; [self initTableView]; } - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{ return 1; } - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{ return 10; } -

ios UINavigationController 导航栏

1.关于导航栏左右两边的按钮 1.隐藏导航栏上的返回字体 //Swift UIBarButtonItem.appearance().setBackButtonTitlePositionAdjustment(UIOffsetMake(0, -60), forBarMetrics: .Default) //OC [[UIBarButtonItem appearance] setBackButtonTitlePositionAdjustment:UIOffsetMake(0, -60) forBarM