一、说明
这篇文章简单记录在开发中遇到的小问题,向上滑动tableView时,navigationBar出现渐变效果,但navigationBar上面的文字能正常显示!效果图如下:
二、思路:
由于tableView继承自scrollView,所以在可以在- (void)scrollViewDidScroll:(UIScrollView *)scrollView方法中,确定一个比例,根据比例改变颜色透明度
例如:CGFloat scrollY = scrollView.contentOffset.y;
// 确定比例
CGFloat scale = (30 +64 - scrollY) / 64;
三、具体步骤
1.为便于复用,可以给UINavigationBar创建一个分类,在分类的.h文件中提供一个改变透明度颜色的方法:- (void)changeNavigationBarAlphaWith:(UIColor *)color和一个改变透明度的view(插在navigationBar上):@property(nonatomic,strong)UIView *alphaView;由于分类中添加属性不会生成setter和getter方法,所以运用运行时实现set和get方法;
2.实现- (void)changeNavigationBarAlphaWith:(UIColor *)color方法,在此方法中实现如下:
3.在需要使用的地方导入分类头文件,在- (void)scrollViewDidScroll:(UIScrollView *)scrollView作如下实现:
完成
网友评论