国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > iOS > 正文

iOS導航條自由縮放實現

2019-11-09 18:55:35
字體:
來源:轉載
供稿:網友

今天正好有時間教大家很常見的一個效果。這也是筆者第一次寫博客,后面會不定期的更新內容。好了,話不多說,進入正題吧。

其實實現此此效果很簡單。只需要幾行代碼就可以搞定。

在很多的App中,其實都有這樣的需求,上下滾動時候,要其頭像也跟著發生相應的變化(用戶頭像是在系統的導航條)。以前有朋友問過我,可能有的朋友會嘗試自定義導航view。其實是沒有必要的,之間使用系統自帶的導航即可!

通過此片學習,您將學習一下知識點:

  1.如何分析實現原理

  2.如何實現縮放效果

  3.如何講計算縮放系數

效果圖

在開始講解之前,還是先上傳效果圖,有圖有真相,如下圖所示。

實現原理

首先給給導航條添加view和創建tableView
- (void)configUI{    _tableView = [[UITableView alloc]initWithFrame:self.view.bounds style:UITableViewStylePlain];    _tableView.dataSource = self;    _tableView.delegate = self;    [_tableView registerClass:[UITableViewCell class] forCellReuseIdentifier:@"UITableViewCell"];    [self.view addSubview:_tableView];       UIView *titleView = [[UIView alloc] init];    self.navigationItem.titleView = titleView;    _headerImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"header.jpg"]];    _headerImageView.frame = CGRectMake(0, 0, 70, 70);    _headerImageView.layer.masksToBounds = YES;    _headerImageView.layer.cornerRadius = 35;    _headerImageView.center = CGPointMake(titleView.center.x, 0);    [titleView addSubview:_headerImageView];}這里主要是創建表格和titleView,估計你們也看到了我為什么不把imageView直接作為titleVIew,而是我自定義一個view,這樣做的好處就是因為titleView會自動被系統設置大小的,而正常情況下,我們的頭像是有自己的大小。接下來就是最關鍵的地方了,直接上代碼
- (void)scrollViewDidScroll:(UIScrollView *)scrollView {    if ([scrollView isEqual:self.tableView]) {        CGFloat offsetY = self.tableView.contentOffset.y + self.tableView.contentInset.top;        CGFloat scale = 1.0;        if (offsetY < 0) {// 放大            // 允許下拉放大的最大距離為250            scale = MIN(1.5, 1 - offsetY / 250);        } else if (offsetY > 0) { // 縮小            // 允許向上超過導航條縮小的最大距離為250            scale = MAX(0.4, 1 - offsetY / 250);        }        self.headerImageView.transform = CGAffineTransformMakeScale(scale, scale);    }}估計大家看到這里,都明白了,那我就不多說了

小結

閱讀完本篇文章,筆者相信大家都可以熟練掌握了,其實就幾行代碼的事情呀,是不是很簡單呢?

源代碼

本篇文章對應的源代碼下載地址:https://github.com/WSmalan/WSScaleHeaderImage
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 临湘市| 利川市| 荥经县| 黄冈市| 图片| 习水县| 梁山县| 迭部县| 苍梧县| 成武县| 泸州市| 泰顺县| 襄垣县| 榕江县| 遂川县| 本溪| 彝良县| 昆山市| 承德市| 上蔡县| 永吉县| 江永县| 达拉特旗| 志丹县| 运城市| 信阳市| 鲜城| 元谋县| 榕江县| 宣威市| 博罗县| 新乡市| 忻州市| 阿坝县| 岱山县| 南充市| 修文县| 高青县| 象山县| 昌黎县| 西城区|