設(shè)置了這個(gè)contentInset就會(huì)變成(0,0,0,0)
如果用的是代碼中的模式,整個(gè)導(dǎo)航條就會(huì)變得透明。生成的圖片是半透明的
scrollView向下滾動(dòng)偏移量y是負(fù)的
- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
//偏移量
CGFloat offset = scrollView.contentOffset.y - oriOffsetY;
NSLog(@" offset = %f",offset);
//原始的高度-偏移量
CGFloat h = oriH - offset;
if (h <= 64) {
h = 64;
}
//更新高度
self.heightConstr.constant = h;
//動(dòng)態(tài)求出alpha
//求變化的值.
//最大值的方法
//1.最大值為多少 (最大為1)
//2.什么情況下最大. (當(dāng)offset 等于 136.0 最大)
// 當(dāng)offset 等于 136.0的時(shí)候 alpha = 1
// 當(dāng)變化的值 等于 固定值 的時(shí)候 為最大
CGFloat alpha = offset * 1 / 136.0;
if (alpha >= 1) {
alpha = 0.99;
}
//根據(jù)一個(gè)顏色,生成一張圖片
UIColor *color = [UIColor colorWithWhite:1.0 alpha:alpha];
UIImage *image = [UIImage imageWithColor:color];
//設(shè)置背景圖片
[self.navigationController.navigationBar setBackgroundImage:image forBarMetrics:UIBarMetricsDefault];
//設(shè)置頭部標(biāo)題的透明度
//self.titleV.textColor = [UIColor colorWithWhite:0 alpha:alpha];
UILabel *titleV = (UILabel *)self.navigationItem.titleView;
titleV.textColor = [UIColor colorWithWhite:0 alpha:alpha];
}
UILabel *titleV = [[UILabel alloc] init];
titleV.text = @"個(gè)人詳情頁(yè)";
[titleV sizeToFit];
titleV.textColor = [UIColor colorWithWhite:0 alpha:0];
self.navigationItem.titleView = titleV;
uitabbar的高度是49,導(dǎo)航條的高度是44,y值是20
上面代碼對(duì)應(yīng)下圖
上面代碼對(duì)應(yīng)下圖
默認(rèn)顯示的是第一個(gè)添加的控制器的view
切換tabbar的時(shí)候,先移除原先的view,在把新的view添加上去顯示