摘要:本文将带你了解IOS开发入门ios之导航渐变---/导航透明,希望本文对大家学IOS有所帮助。
本文将带你了解IOS开发入门ios之导航渐变---/导航透明,希望本文对大家学IOS有所帮助。
ios之导航渐变---/导航透明。
// CZNavTableViewController.h
// 导航栏渐变透明效果
#import
@interface CZNavTableViewController : UITableViewController
@end
================
// CZNavTableViewController.m
// 导航栏渐变透明效果
//
#import "CZNavTableViewController.h"
#import "UINavigationBar+alpha.h"
@interface CZNavTableViewController ()
@end
@implementation CZNavTableViewController
- (void)viewDidLoad {
[super viewDidLoad];
//
// [self.navigationController.navigationBar setBackgroundColor:[UIColor redColor]];
//
// [self.navigationController.navigationBar setBarTintColor:[UIColor redColor]];
// [self.navigationController.navigationBar setTintColor:[UIColor redColor]];
// [self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"NavBar64"] forBarMetrics:UIBarMetricsDefault];
}
-(void)scrollViewDidScroll:(UIScrollView *)scrollView
{
//当前的y值
CGFloat OffsetY = scrollView.contentOffset.y;
UIColor *color = [UIColor redColor];
CGFloat alpha = (30 + 64 - OffsetY)/64;
if (OffsetY > 30) {
[self.navigationController.navigationBar alphaNavigationBarView:[color colorWithAlphaComponent:alpha]];
}else
{
[self.navigationController.navigationBar alphaNavigationBarView:[color colorWithAlphaComponent:1]];
}
}
#pragma mark - Table view data source
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
#warning Incomplete implementation, return the number of sections
return 0;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
#warning Incomplete implementation, return the number of rows
return 0;
}
=================
#import
@interface UINavigationBar (alpha)
//动态添加的UIview 添加到UINavigationBar 上
@property (nonatomic , strong)UIView *alphaView;
- (void)alphaNavigationBarView:(UIColor *)color;
@end
===========
#import "UINavigationBar+alpha.h"
#import
@implementation UINavigationBar (alpha)
static char alView;
-(UIView *)alphaView
{
return objc_getAssociatedObject(self, &alView);
}
-(void)setAlphaView:(UIView *)alphaView
{
objc_setAssociatedObject(self, &alView, alphaView, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
}
//通过这个方法去改变颜色和透明度
-(void)alphaNavigationBarView:(UIColor *)color
{
if (!self.alphaView) {
//设置一张图片,如果不设置,颜色不纯
[self setBackgroundImage:[UIImage new] forBarMetrics:UIBarMetricsDefault];
//创建
self.alphaView = [[UIView alloc]initWithFrame:CGRectMake(0, -20,[UIScreen mainScreen].bounds.size.width , 64)];
//添加到navigationbar
[self insertSubview:self.alphaView atIndex:0];
}
[self.alphaView setBackgroundColor:color];
}
@end
本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标移动开发之IOS频道!
您输入的评论内容中包含违禁敏感词
我知道了
请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号