IOS下拉放大图片

代码地址如下:
http://www.demodashi.com/demo/11623.html

一、实现效果图

现在越来越多的APP中存在下拉放大图片的效果,今天贡献一下我的实现这种方法的原理,和我遇到的坑。效果图
效果图

二、程序实现

介绍一下我实现的原理
一进入界面的时候隐藏掉导航栏,因为操作系统的导航栏较麻烦,不如自己写一个导航栏来的简单,在界面要消失的时候在把导航栏显示出来即可,(也可以自己写一个pop动画)

-(void)viewWillAppear:(BOOL)animated
{
    self.navigationController.navigationBar.hidden = YES;
}
-(void)viewWillDisappear:(BOOL)animated
{
    self.navigationController.navigationBar.hidden = NO;
}

使用懒加载的方法把假的导航栏,图片和表格创建出来

1、这里有几点注意事项:

***1.图片不能添加到UITabview的HeaderView中,因为如果添加到HeaderView中,那图片就是表格的一部分了,会跟随表格的移动和移动。
2.表格要设置contentInset来显示出图片,不然会有覆盖问题
3.图片的填充模式很重要,一定要是UIViewContentModeScaleAspectFill这样可以节省很多代码
4.图片和假导航栏要设置clipsToBounds为YES,不然会有Bug***

//lazy
-(UITableView *)tableview
{
    if (!_tableview) {
        _tableview = [[UITableView alloc]initWithFrame:CGRectMake(0, 0, kScreenW, kScreenH) style:UITableViewStylePlain];
        CGFloat headImvH = kScreenW / 320 * 300;
        //这句很重要
        _tableview.contentInset = UIEdgeInsetsMake(headImvH-20, 0, 0, 0);

        _tableview.dataSource = self;
        _tableview.de
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值