#pragma mark -- 配置導航欄
- (void )configNavi{
self.navigationItem.leftBarButtonItem = nil;
UIButton *RightBtn = [[UIButton alloc]initWithFrame:CGRectMake(0, 0, 35, 35)];
[RightBtn setImage:[UIImage imageNamed:@"setup"] forState:UIControlStateNormal];
UIBarButtonItem *RightBarButton = [[UIBarButtonItem alloc] initWithCustomView:RightBtn];
[RightBtn addTarget:self action:@selector(setting) forControlEvents:UIControlEventTouchUpInside];
self.navigationItem.rightBarButtonItem = RightBarButton;
UIImageView *imgView = [self findHairlineImageViewUnder:self.navigationController.navigationBar];
imgView.hidden = YES;
}
//通過一個方法來找到這個黑線(findHairlineImageViewUnder):
- (UIImageView *)findHairlineImageViewUnder:(UIView *)view {
if ([view isKindOfClass:UIImageView.class] && view.bounds.size.height <= 1.0) {
return (UIImageView *)view;
}
for (UIView *subview in view.subviews) {
UIImageView *imageView = [self findHairlineImageViewUnder:subview];
if (imageView) {
return imageView;
}
}
return nil;
}
#pragma mark - UIScrollViewDelegate
- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
if ([scrollView isEqual:_aTableView]) {
CGFloat offsetY = scrollView.contentOffset.y;
if (offsetY>0) {
CGFloat alpha = offsetY/64;
self.navigationItem.title = @"我的";
[self setNeedsNavigationBackground:alpha];
} else {
self.navigationItem.title = @"";
[self setNeedsNavigationBackground:0.0];
}
}
}
- (void)setNeedsNavigationBackground:(CGFloat)alpha {
// 導航欄背景透明度設置
UIView *barBackgroundView = [[self.navigationController.navigationBar subviews] objectAtIndex:0];// _UIBarBackground
UIImageView *backgroundImageView = [[barBackgroundView subviews] objectAtIndex:0];// UIImageView
if (self.navigationController.navigationBar.isTranslucent) {
if (backgroundImageView != nil && backgroundImageView.image != nil) {
barBackgroundView.alpha = alpha;
} else {
UIView *backgroundEffectView = [[barBackgroundView subviews] objectAtIndex:1];// UIVisualEffectView
if (backgroundEffectView != nil) {
backgroundEffectView.alpha = alpha;
}
}
} else {
barBackgroundView.alpha = alpha;
}
}
導航欄漸變
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.