Swift 图片下拉放大

let iconMargin: CGFloat = 10.0
let iconW: CGFloat = 80.0
let iconH: CGFloat = 80.0
let cellIdientifier = "cellIdentifier"
let screenHeight = UIScreen.mainScreen().bounds.size.height
let screenWidth = UIScreen.mainScreen().bounds.size.width

在viewDidLoad中

        // 这里创建tableview的代码就不贴出来了
        self.createSubviews() 
        // 调整tableview的位置
        self.tableView.contentInset = UIEdgeInsetsMake(200, 0, 0, 0);
        // 把图片设置到对应位置上
        imageTopView = UIImageView.init(frame: CGRectMake(0, 0, screenWidth, 200))
        // 把加载的图片设置需要的大小
        let oldImage = UIImage.init(named: "1111")
        imageTopView.image = self.originImagescaleToSize(oldImage!, size: CGSizeMake(screenWidth, 200))
        // 这里是为了让图片宽度随着高度的拉伸而拉伸
        imageTopView.contentMode = UIViewContentMode.ScaleAspectFill;
        self.view.addSubview(imageTopView)
        imageIcon = UIImageView.init(frame: CGRectMake(iconMargin, 200 - (iconMargin + iconH), iconW, iconH))
        imageIcon.layer.cornerRadius = 7.5;
        imageIcon.image = UIImage.init(named: "01")
        imageIcon.clipsToBounds = true;
        //自动布局,自适应顶部
        imageIcon.autoresizingMask = UIViewAutoresizing.FlexibleTopMargin
        imageTopView.addSubview(imageIcon)

设置图片的大小

    func originImagescaleToSize(image: UIImage, size: CGSize)->UIImage
    {
        UIGraphicsBeginImageContextWithOptions(size, false, 0)
        image.drawInRect(CGRectMake(0, 0, size.width, size.height))
        let scaleImage: UIImage = UIGraphicsGetImageFromCurrentImageContext()
        UIGraphicsEndImageContext()
        return scaleImage
    }

监听滚动

   func scrollViewDidScroll(scrollView: UIScrollView) {
        // 偏移量y的变化
        let y: CGFloat = scrollView.contentOffset.y;
        print("y ------ \(y)")
        if y < -200 {
            var frame: CGRect = self.imageTopView.frame;
            frame.size.height = -y;
            self.imageTopView.frame = frame;
        }
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值