亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統 > iOS > 正文

iOS實現簡單的頭部縮放功能

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

本文通過實例代碼給大家介紹了iOS實現簡單的頭部縮放功能。實現思路有頭部視圖,滾動視圖,控制頭部動畫等多個示例代碼塊,大家可以參考下本文。

簡單實現并集成一個頭部縮放的功能,適用于UIScrollView以及其子類。

頭部伴隨模糊效果放大縮小,并在一定位置時懸停充當導航欄。這里提供實現思路,如有符合可直接使用。

效果如下圖。

iOS,頭部縮放

實現:

首先分解為兩部分,一部分為頭部視圖,一部分為滾動視圖。頭部視圖負責展示,滾動視圖負責控制頭部視圖如何展示,比如放大和縮小。

一:頭部視圖

頭部視圖拆解為負責展示圖片的UIImageView,負責模糊效果的UIVisualEffectView,負責標題顯示的UILabel,以及返回等功能按鈕的UIButton。

進一步分析,模糊效果的視圖應該和展示圖片的視圖做同樣的處理,同樣的縮放,為了更好的控制將其包裝到一containView中。跟據滾動的位置改變containView的大小,模糊視圖根據滾動的位置改變模糊的程度。標題視圖在滾動視圖到達一定位置時出現并停在那里。這里利用UIImageView的特性,改變它的contentMode為UIViewContentModeScaleAspectFill,這樣只用簡單的改變圖片視圖的高度時就能營造放大縮小的效果了。

UIImageView部分代碼

_blurImageView = [[UIImageView alloc] init];_blurImageView.clipsToBounds = YES;_blurImageView.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth;_blurImageView.contentMode = UIViewContentModeScaleAspectFill;[self addSubview:_blurImageView];

UIVisualEffectView部分代碼

UIBlurEffect *beffect = [UIBlurEffect effectWithStyle:UIBlurEffectStyleLight]; _imageEffectView = [[UIVisualEffectView alloc]initWithEffect:beffect]; _imageEffectView.alpha = 0;_imageEffectView.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth; [self addSubview:_imageEffectView];

二:滾動視圖

滾動視圖需要做的就是設置 contentInset ,讓出一部分空間給頭部視圖。這里如果將頭部視圖直接加到滾動視圖上,無法做到頭部視圖最后懸停在一定位置,因此直接加到和滾動視圖同級就行。

示例代碼

self.webView = [[WKWebView alloc] initWithFrame:CGRectMake(0, 0, kWindowWidth, kWindowHeight)];  self.webView.backgroundColor = [UIColor clearColor];  [self.view addSubview:self.webView];  NSURL * url = [NSURL URLWithString:@"https://yongliangp.github.io/"];  NSMutableURLRequest *re = [NSMutableURLRequest requestWithURL:url];  [self.webView loadRequest:re];  //初始化header  self.headerView.headerImage = [UIImage imageNamed:@"saber.jpeg"];  self.headerView.tittle = @"哈哈是個demo";  self.headerView.isShowLeftButton = YES;  self.headerView.isShowRightButton = YES;  __weak typeof(self) weakSelf = self;  self.headerView.leftClickBlock = ^(UIButton *btn){    [weakSelf.navigationController popViewControllerAnimated:YES];  };  self.headerView.rightClickBlock = ^(UIButton *btn){    NSLog(@"點擊了分享");  };  [self.webView.scrollView handleSpringHeadView:self.headerView];

三:控制頭部動畫

和其他的滾動視圖做動畫一樣,實現滾動視圖的代理方法scrollViewDidScroll,獲取偏移量,然后根據一定的規則做動畫,這里為了解耦,也為了復用,使用了在scrollView的分類中監聽scrollView的contentOffset方法去實現動畫控制。

首先確定兩個臨界點: 視圖的初始高度 懸停的高度。

示例代碼(簡單控制)

- (void)yl_scrollViewDidScroll:(UIScrollView *)scrollView{  CGFloat offsetY = scrollView.contentOffset.y;  if (offsetY>=-kNavHeight)  {    offsetY=-kNavHeight;    if (self.headerView.frame.size.height!=kNavHeight)    {      self.headerView.frame = CGRectMake(0, 0, self.headerView.bounds.size.width, kNavHeight);      [UIView animateWithDuration:0.25 animations:^{        self.titleLabel.frame = CGRectMake(35, 20, self.bounds.size.width-35*2, 44);        self.titleLabel.alpha = 1;      }];    }  }else  {    self.headerView.frame = CGRectMake(0, 0, self.headerView.bounds.size.width, -offsetY);    if (self.titleLabel.alpha!=0)    {      [UIView animateWithDuration:0.25 animations:^{        self.titleLabel.frame = CGRectMake(35, 40, self.bounds.size.width-35*2, 44);        self.titleLabel.alpha = 0;      }];    }  }  CGFloat alpha ;  if (self.headerView.frame.size.height>=kWindowWidth/2)  {    alpha = 0;  }else  {    alpha = 1-((self.headerView.frame.size.height-kNavHeight)/(kWindowWidth/2-kNavHeight));  }  if (alpha>=0&α<=1)  {    self.headerEffectView.alpha = alpha;  }}

最重要的,記得在控制器dealloc時移除監聽者 
最重要的,記得在控制器dealloc時移除監聽者 
最重要的,記得在控制器dealloc時移除監聽者

或者你有更好的方式移除監聽者請告訴我。

照例放Demo,僅供參考,如有問題請留言

Demo地址:

https://github.com/yongliangP/YLSpringHeader 用心良苦請 star

總結

以上所述是小編給大家介紹的iOS實現簡單的頭部縮放功能,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對VEVB武林網網站的支持!


注:相關教程知識閱讀請移步到IOS開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
成人免费网站在线看| 一区二区三欧美| 欧美成人精品三级在线观看| 深夜福利日韩在线看| 亚洲天堂第一页| 国产精品香蕉国产| 久久成人国产精品| 国产成人福利夜色影视| 97精品伊人久久久大香线蕉| 欧美专区在线观看| 欧美黑人性猛交| 国产精品美乳在线观看| 亚洲在线免费看| 最新国产成人av网站网址麻豆| 久久九九热免费视频| 亚洲色无码播放| 欧美乱大交做爰xxxⅹ性3| 中文字幕久久久av一区| 91精品视频在线播放| 日韩黄色在线免费观看| 国产一区二区三区在线观看网站| 欧美日韩激情小视频| 久久人人爽国产| 亚洲男人天堂网| 青青草99啪国产免费| 亚洲国产古装精品网站| 91九色国产在线| 91久久精品在线| 久久久久久免费精品| 98精品国产自产在线观看| 亚洲free性xxxx护士白浆| 黑人与娇小精品av专区| 亚洲午夜国产成人av电影男同| 伊人久久大香线蕉av一区二区| 久久精品国产电影| 91精品在线国产| 视频一区视频二区国产精品| 亚洲国产成人av在线| 亚洲精品99久久久久中文字幕| 日韩av在线资源| 亚洲欧美日韩国产精品| 亚洲在线观看视频| 97热在线精品视频在线观看| 日韩av免费在线播放| 91久久精品国产91性色| 在线免费看av不卡| 日韩精品小视频| 亚洲国产古装精品网站| 欧美专区在线观看| 疯狂做受xxxx高潮欧美日本| 日韩免费视频在线观看| 亚洲国产另类 国产精品国产免费| 久久久天堂国产精品女人| 久久国产精品久久精品| 色久欧美在线视频观看| 亚洲xxxxx| 欧美亚洲另类激情另类| 国产欧美日韩视频| 精品国产精品三级精品av网址| 欧美激情一级欧美精品| 伊人久久精品视频| 亚洲欧洲在线看| 欧美日韩国产精品一区二区三区四区| 亚洲精品视频免费在线观看| 欧美成aaa人片免费看| 日韩最新在线视频| 亚洲人成伊人成综合网久久久| 亚洲成人黄色网址| 国产欧美在线视频| 亚洲在线免费看| 日韩经典中文字幕| 国产精品久久久久久久久久| 久久久久久亚洲| 国产日韩欧美在线视频观看| www.亚洲人.com| 亚洲激情视频网| 国产成人一区二区三区小说| 91在线无精精品一区二区| 久久久国产精品一区| 91国产精品视频在线| 欧美日韩精品在线视频| 91系列在线观看| 亚洲精品乱码久久久久久金桔影视| 久久精品一本久久99精品| 国产亚洲欧美日韩美女| 日日狠狠久久偷偷四色综合免费| 日韩中文有码在线视频| 岛国av一区二区在线在线观看| 琪琪亚洲精品午夜在线| 久久久久久久久久久国产| 欧美整片在线观看| 2019中文字幕在线| xxx成人少妇69| 国产精品jvid在线观看蜜臀| 亚洲丝袜在线视频| 色婷婷综合久久久久| 国产精品一区二区久久精品| 九九热这里只有精品6| 欧美极品在线视频| 成人中文字幕在线观看| 久久久久亚洲精品成人网小说| 日韩av在线免费播放| 午夜免费在线观看精品视频| 狠狠色香婷婷久久亚洲精品| 这里只有精品在线观看| 26uuu国产精品视频| 国产一区欧美二区三区| 视频一区视频二区国产精品| 6080yy精品一区二区三区| 欧美激情免费看| 欧美另类老女人| 日韩欧美在线视频| 大荫蒂欧美视频另类xxxx| 亚洲aⅴ男人的天堂在线观看| 欧美富婆性猛交| 国产97在线观看| 欧美日韩在线视频一区二区| 精品亚洲夜色av98在线观看| 国产精品福利在线| 亚洲色无码播放| 亚洲欧美日韩精品久久奇米色影视| 国产午夜精品一区理论片飘花| 亚洲欧美一区二区三区四区| 91九色蝌蚪国产| 自拍偷拍亚洲精品| 欧美激情免费在线| 日韩电影在线观看中文字幕| 久久伊人色综合| 91国产精品91| 久精品免费视频| 日韩不卡中文字幕| 中文字幕欧美精品在线| 欧美高清性猛交| 中文字幕日韩高清| 国产成人综合久久| 欧美在线视频观看免费网站| 久久天堂电影网| 亚洲专区在线视频| 亚洲人成电影网站色xx| 亚洲韩国欧洲国产日产av| 久久视频免费观看| 国产精品久久久久久亚洲调教| 精品视频—区二区三区免费| 久久人体大胆视频| 成人在线免费观看视视频| 色老头一区二区三区在线观看| 久热精品在线视频| 国产一区二区三区直播精品电影| 国产999精品久久久影片官网| 亚洲成人a级网| 91av免费观看91av精品在线| 欧美日韩一二三四五区| 狠狠干狠狠久久| 精品国产欧美一区二区三区成人| 欧美夫妻性视频| 91中文在线观看| 亚洲美女自拍视频| 中文字幕亚洲综合| 久久精品国产成人精品| 日韩欧美在线视频| 欧美日韩国产丝袜美女| 欧美性猛交xxxx久久久| 久久久久久久久久久91| 亚洲视频第一页|