iOS有关ScrollView的截屏(UITableView也可以的)

来源:互联网 发布:淘宝修改折扣 编辑:程序博客网 时间:2024/06/03 05:10

在项目中要用到截屏分享,因为我用的是tableView来做的分享页面,而另一个程序员做的界面用的UISCrollView来分享,代码不能统一,我就合并了一下现在分享给大家:

#pragma mark -- 截屏
-(UIImage *)setImage
{
        UIImage* image = nil;
    //如果是ScrollView的话用:
    //UIScrollView *WY_scrollView = self.scrollView;
        UITableView *WY_scrollView = self.tableView;
        UIGraphicsBeginImageContextWithOptions(WY_scrollView.contentSize, WY_scrollView.opaque, 0.0);
        CGPoint saveContentOffset = WY_scrollView.contentOffset;
        CGRect saveFrame = WY_scrollView.frame;
            
        WY_scrollView.contentOffset = CGPointZero;
        WY_scrollView.frame = CGRectMake(0, 0, WY_scrollView.contentSize.width, WY_scrollView.contentSize.height);
            
       [WY_scrollView.layer renderInContext: UIGraphicsGetCurrentContext()];
       image = UIGraphicsGetImageFromCurrentImageContext();
            
            WY_scrollView.contentOffset = saveContentOffset;
            WY_scrollView.frame = saveFrame;
        UIGraphicsEndImageContext();
        
        return image;
}

因为UITableView继承的是UIScrollView,所以也可以写一个函数,我的这个项目在分享的图上还要添加东西不适合写一个函数,希望对需要的人有用处.

原创粉丝点击