麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 系統 > iOS > 正文

iOS tableView實現頭部拉伸并改變導航條漸變色

2019-10-21 18:41:13
字體:
來源:轉載
供稿:網友

本文實例為大家分享了iOS tableView實現頭部拉伸改變,導航條漸變色的具體代碼,供大家參考,具體內容如下

#import "TableViewController.h"static NSString *ident = @"cell";#define RGBA(r,g,b,a) [UIColor colorWithRed:r/255.0f green:g/255.0f blue:b/255.0f alpha:a]#define RGB(r,g,b) RGBA(r,g,b,1.0f)#define ZhuTiColor RGB(76,16,198)#define ZhuTiColorAlpha(alpha) RGBA(76, 16, 198, alpha)// 判斷是否是iPhone X#define iPhoneX ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(1125, 2436), [[UIScreen mainScreen] currentMode].size) : NO)// 狀態欄高度#define STATUS_BAR_HEIGHT (iPhoneX ? 44.f : 20.f)// 導航欄高度#define NAVIGATION_BAR_HEIGHT (iPhoneX ? 88.f : 64.f)// tabBar高度#define TAB_BAR_HEIGHT (iPhoneX ? (49.f + 34.f) : 49.f)// home indicator#define HOME_INDICATOR_HEIGHT (iPhoneX ? 34.f : 0.f)#define ScreenWidth ([UIScreen mainScreen].bounds.size.width)#define ScreenHeight ([UIScreen mainScreen].bounds.size.height)#define imageHight 200@interface TableViewController ()@property (nonatomic,strong) UIImageView *headImage;@property (nonatomic, strong) UIView *headerBackView;@property (nonatomic, strong) UIView *mengView;@end@implementation TableViewController- (void)viewDidLoad {  [super viewDidLoad];  [self.tableView registerClass:[UITableViewCell class] forCellReuseIdentifier:ident];  self.view.backgroundColor = [UIColor redColor];  self.tableView.tableHeaderView = self.headerBackView;  [self.headerBackView addSubview:self.headImage];  [self.headImage addSubview:self.mengView];  [self navCleanFromAlpha:0];  }-(void)navCleanFromAlpha:(CGFloat)alpha{  [self.navigationController.navigationBar setBackgroundImage:[self createImageWithColor:ZhuTiColorAlpha(alpha)] forBarMetrics:UIBarMetricsDefault];  self.navigationController.navigationBar.shadowImage = [UIImage new];}-(UIImage*) createImageWithColor:(UIColor*) color{  CGRect rect=CGRectMake(0.0f, 0.0f, 1.0f, 1.0f);  UIGraphicsBeginImageContext(rect.size);  CGContextRef context = UIGraphicsGetCurrentContext();  CGContextSetFillColorWithColor(context, [color CGColor]);  CGContextFillRect(context, rect);  UIImage *theImage = UIGraphicsGetImageFromCurrentImageContext();  UIGraphicsEndImageContext();  return theImage;}-(UIImageView *)headImage{  if(!_headImage)  {    _headImage= [[UIImageView alloc]initWithFrame: self.headerBackView.bounds];    _headImage.image = [UIImage imageNamed:@"1024"];  }  return _headImage;}-(UIView *)mengView{  if (!_mengView)  {    _mengView = [[UIView alloc]initWithFrame:self.headerBackView.bounds];    _mengView.backgroundColor = RGBA(1, 1, 1, 0.1);  }  return _mengView;}-(UIView *)headerBackView{  if (!_headerBackView)  {    _headerBackView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, ScreenWidth, imageHight)];    [_headerBackView setBackgroundColor:[UIColor lightGrayColor]];  }  return _headerBackView;}- (void)didReceiveMemoryWarning {  [super didReceiveMemoryWarning];  // Dispose of any resources that can be recreated.}- (void)scrollViewDidScroll:(UIScrollView *)scrollView{  //---------------------- 圖片拉升 -------------------------  //圖片高度  CGFloat imageHeight = self.headerBackView.frame.size.height;  //圖片寬度  CGFloat imageWidth = ScreenWidth;  //圖片上下偏移量  CGFloat imageOffsetY = scrollView.contentOffset.y;  //  NSLog(@"圖片上下偏移量 imageOffsetY:%f ->",imageOffsetY);    //上移  if (imageOffsetY < 0)  {    CGFloat totalOffset = imageHeight + ABS(imageOffsetY);    CGFloat f = totalOffset / imageHeight;        self.headImage.frame = CGRectMake(-(imageWidth * f - imageWidth) * 0.5, imageOffsetY, imageWidth * f, totalOffset);    self.mengView.frame = self.headImage.bounds;  }    //------------------- 導航條顏色漸變 ----------------------------    CGFloat tableViewOffsetY = [self.tableView rectForSection:0].origin.y - NAVIGATION_BAR_HEIGHT;  CGFloat contentOffsetY = scrollView.contentOffset.y;  if (contentOffsetY >= tableViewOffsetY)  {//    scrollView.contentOffset = CGPointMake(0, tableViewOffsetY); //定位    [self navCleanFromAlpha:1];  }  else  {    CGFloat alpha = scrollView.contentOffset.y/imageHight;        if (alpha >= 1) { alpha = 1; }    if (alpha <= 0) { alpha = 0; }    NSLog(@"%.2f",alpha);    [self navCleanFromAlpha:alpha];  }    }- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {  return 20;}- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {  UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:ident forIndexPath:indexPath];    // Configure the cell...    cell.textLabel.text = [NSString stringWithFormat:@"asdada = %zd",indexPath.row];    return cell;}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


注:相關教程知識閱讀請移步到IOS開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 成人免费看视频 | 干一夜综合| 性生活视频软件 | 看免费毛片 | 精品国产一区二区三区天美传媒 | 久久久久99999| 免费一级欧美大片视频 | 欧美另类综合 | 午夜精品小视频 | 国产成人自拍av | 国产免费v片 | 久久国产精品系列 | 91久久久久久久一区二区 | 欧美在线观看视频一区 | 毛片免费视频观看 | 成人福利视频网站 | 久久久国产精品网站 | 27xxoo无遮挡动态视频 | 婷婷一区二区三区 | 欧美久久久久久久久 | av免费在线观 | 欧美国产综合视频 | 国产精品久久久在线观看 | 九九精品在线观看视频 | 伦理三区| 欧美日韩国产成人在线 | 狠狠操电影 | 99精品热视频 | 亚久久 | 国产成人精品区 | 天天干天天碰 | 国产91精品久久久 | 国产深夜福利视频在线播放 | 亚洲一区二区三区在线免费观看 | 成人毛片免费在线 | 久久久久久久久久亚洲精品 | hd性videos意大利复古 | 精品一区二区三区中文字幕老牛 | 久久99国产伦子精品免费 | 在线成人免费视频 | 大奶一级片 |