美文网首页
iOS-导航头像缩放,支持点击回调

iOS-导航头像缩放,支持点击回调

作者: Mr_ZH | 来源:发表于2016-08-02 11:38 被阅读233次

在很多App中,经常存在一种需求就是,界面上下滚动时用户的头像也会跟着滚动,而用户头像在视图向上滚动一定范围时停留并在导航栏的位置,这里我实现了一个视图,基本样式如下:

基本用法如下:

1、单纯的实现这一效果:

- (LEOHeaderView *)headerView {    if (!_headerView) {

_headerView = [[LEOHeaderView alloc] initWithFrame:CGRectMake(0, 0, kScreenWidth, kImageHeight)];

[_headerView setBackgroundImage:[UIImage imageNamed:@"background.jpg"]];

[_headerView setHeaderImage:[UIImage imageNamed:@"header.jpg"] text:@"leiliang"];

}    return _headerView;

}

- (void)scrollViewDidScroll:(UIScrollView *)scrollView {

[self.headerView reloadWithScrollView:scrollView];

}

2、给头像添加点击回调:

[self.headerView pressHeaderImageWithBlock:^{

NSLog(@"点击头像");}];

3、在视图滚动到顶部位置时改变navigationBar的颜色:

// navigationBar 的颜色可以根据这个方法来调整// @param reachtop: YES 已经滚动到顶部, NO 在顶部以下__weak typeof(self) weakSelf = self;

[self.headerView scrollViewStateChangeWithBlock:^(BOOL reachtop) {

[weakSelf.navigationController.navigationBar leo_setBackgroundColor:reachtop ? [UIColor lightGrayColor] : [UIColor clearColor]];

}];

使用起来很简单,只需要这几行代码就可以了,另外为了防止大家在使用过程中因为一些细节问题导致有bug出现,这里列出一些注意事项,只要大家按照这样做就一定没有问题了,具体如下:

1、在 - (void)viewWillAppear:(BOOL)animated 方法中需要调用一次 [self.headerView reloadWithScrollView:self.tableView],为了防止在刚进入这一页面的时候视图有偏差 

2、需要设置 tableView 的 contentInset 的 top 值为 kImageHeight - kNavigationBarHeight 

3、需要设置 tableView 的背景色为 [UIColor clearColor],否则会遮挡视图 

4、需要设置 tableView 的顶部据屏幕顶部为 64,否则如果你想设置navigationBar为透明时顶部有留白

 5、需要将视图插入到 tableView 的底部,这里是将视图加在 self.view 上,并在tableView的底部,[self.view insertSubview:self.headerView belowSubview:self.tableView] 

6、需要在 - (void)scrollViewDidScroll:(UIScrollView *)scrollView 方法中调用 [self.headerView reloadWithScrollView:scrollView] 

7、需要设置 self.automaticallyAdjustsScrollViewInsets = NO; 防止滚动视图有偏差

相关文章

  • iOS-导航头像缩放,支持点击回调

    iOS-导航头像缩放,支持点击回调 iOS-导航头像缩放,支持点击回调

  • iOS-导航头像缩放,支持点击回调

    在很多App中,经常存在一种需求就是,界面上下滚动时用户的头像也会跟着滚动,而用户头像在视图向上滚动一定范围时停留...

  • 整屏滚动

    持鼠标滚动、前进后退和键盘控制、多个回调函数、支持手机和平板触摸事件、支持 CSS3 动画、支持窗口缩放、窗口缩放...

  • 整屏滚动

    持鼠标滚动、前进后退和键盘控制、多个回调函数、支持手机和平板触摸事件、支持 CSS3 动画、支持窗口缩放、窗口缩放...

  • 24.用户头像的设置(详细讲解)

    1.挂代理 2.点击用户的头像调用下面 3.回调编辑完回调- (void)imagePickerControlle...

  • 选择相册图片

    1)打开相册 2)打开相册后导航栏设置 3)点击图片回调方法(UIImagePickerControllerDel...

  • iOS 实现点击微信头像效果

    公司产品需要实现点击个人主页头像可以放大头像、缩放头像、保存头像效果(和点击微信个人头像类似),故找个时间实现一下...

  • iOS 实现点击微信头像效果

    公司产品需要实现点击个人主页头像可以放大头像、缩放头像、保存头像效果(和点击微信个人头像类似),故找个时间实现一下...

  • android 图片添加 ImageAddView

    ImageAddView 1.支持添加、删除、默认图片的配置; 2.支持添加、删除、图片点击回调接口。

  • 自定义图片浏览器

    支持图片浏览,图片缩放,图片保存。 滑动、缩放、单击设置导航栏的显隐。 1clone文件 clone文件到项目中,...

网友评论

      本文标题:iOS-导航头像缩放,支持点击回调

      本文链接:https://www.haomeiwen.com/subject/xnpfsttx.html