設置了這個contentInset就會變成(0,0,0,0)
如果用的是代碼中的模式,整個導航條就會變得透明您单。生成的圖片是半透明的
scrollView向下滾動偏移量y是負的
- (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;
//動態(tài)求出alpha
//求變化的值.
//最大值的方法
//1.最大值為多少 (最大為1)
//2.什么情況下最大. (當offset 等于 136.0 最大)
// 當offset 等于 136.0的時候 alpha = 1
// 當變化的值 等于 固定值 的時候 為最大
CGFloat alpha = offset * 1 / 136.0;
if (alpha >= 1) {
alpha = 0.99;
}
//根據(jù)一個顏色,生成一張圖片
UIColor *color = [UIColor colorWithWhite:1.0 alpha:alpha];
UIImage *image = [UIImage imageWithColor:color];
//設置背景圖片
[self.navigationController.navigationBar setBackgroundImage:image forBarMetrics:UIBarMetricsDefault];
//設置頭部標題的透明度
//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 = @"個人詳情頁";
[titleV sizeToFit];
titleV.textColor = [UIColor colorWithWhite:0 alpha:0];
self.navigationItem.titleView = titleV;
uitabbar的高度是49斋荞,導航條的高度是44,y值是20
上面代碼對應下圖
上面代碼對應下圖
默認顯示的是第一個添加的控制器的view
切換tabbar的時候虐秦,先移除原先的view平酿,在把新的view添加上去顯示