淡出导航栏标题

时间:2013-07-08 16:46:09

标签: ios objective-c

我有一个启用了分页的scrollView。当我开始拖动到下一页时,我想在我的导航栏中文本顺利淡出。我用委托方法做到了:

-(void)scrollViewDidScroll:(UIScrollView *)scrollView

我用以下方法计算拖动百分比:

CGFloat percentDragging = 1 - fmodf(scrollView.contentOffset.x,self.view.frame.size.width)/self.view.frame.size.width;

这就是正确的价值观。

所以: 我试着设置:

self.navigationController.navigationBar.titleView.alpha = percentDragging

但它不起作用。

我通过以下方式解决了问题:

((UIView*)[[self.navigationController.navigationBar subviews] objectAtIndex:1]).alpha = percentDragging;

但这是一个丑陋,粗暴,危险的解决方案。有更好的方法吗?

1 个答案:

答案 0 :(得分:1)

设置titleView的alpha不起作用,因为这不允许您访问默认的导航栏标题标签 - 它只有在您设置一个值时才有值。我想你在这里要做的是自己设置一个自定义titleView,包含一个带字体/阴影/等的UILabel。设置为匹配标准样式,并在转换时淡入或淡出该标签。