zoukankan      html  css  js  c++  java
  • 记录截取tableview图的方法

    // 截图
    - (void)screenShots{
        UITableView *shadowView = mainTab;
        // 开启图片上下文
        UIGraphicsBeginImageContextWithOptions(shadowView.contentSize, NO, 0.f);
        // 保存现在视图的位置偏移信息
        CGPoint saveContentOffset = shadowView.contentOffset;
        // 保存现在视图的frame信息
        CGRect saveFrame = shadowView.frame;
        // 把要截图的视图偏移量设置为0
        shadowView.contentOffset = CGPointZero;
        // 设置要截图的视图的frame为内容尺寸大小
        shadowView.frame = CGRectMake(0, 0, shadowView.contentSize.width, shadowView.contentSize.height);
        // 获取当前上下文
        CGContextRef ctx = UIGraphicsGetCurrentContext();
        // 截图:实际是把layer上面的东西绘制到上下文中
        [shadowView.layer renderInContext:ctx];
        //iOS7+ 推荐使用的方法,代替上述方法
        // [shadowView drawViewHierarchyInRect:shadowView.frame afterScreenUpdates:YES];
        // 获取截图
        UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
        // 关闭图片上下文
        UIGraphicsEndImageContext();
        // 将视图的偏移量设置回原来的状态
        shadowView.contentOffset = saveContentOffset;
        // 将视图的frame信息设置回原来的状态
        shadowView.frame = saveFrame;
        // 保存相册
        UIImageWriteToSavedPhotosAlbum(image, NULL, NULL, NULL);
    }
  • 相关阅读:
    Java如何遍历二维数据
    Java标识符中常见的命名规则
    Java中常量的概念
    Java的数据类型
    Java中的方法是什么以及方法的书写格式
    Java中什么是构造方法
    Java中继承的概念
    Java中的匿名对象代码实例
    Java集合案例(产生不重复随机数)
    Java中集合的初等案例
  • 原文地址:https://www.cnblogs.com/110-913-1025/p/11833070.html
Copyright © 2011-2022 走看看