码迷,mamicode.com
首页 > 移动开发 > 详细

在iOS中对cell进行局部截图

时间:2015-01-30 09:07:09      阅读:219      评论:0      收藏:0      [点我收藏+]

标签:截图   ios7   

         今天在开发过程中遇到了一个问题,就是需要对某个控件单独进行截图。如果是对屏幕进行截图,相信大家都很熟悉,但是对于单独的一个控件呢?比如就以最通常的UITableViewCell来说,因为cell是最常用的控件之一,如果懂得了它的截图,那么其他控件也就迎刃而解。


      这点苹果似乎已经帮我们想好了,如果您支持的iOS7及以上的系统,那么只需要调用一行代码即可。


UIView *snapshot = [theCell snapshotViewAfterScreenUpdates:YES];
     

     是不是很方便?


     但是让我们再看看这个方法的定义:

  

- (UIView *)snapshotViewAfterScreenUpdates:(BOOL)afterUpdates NS_AVAILABLE_IOS(7_0);

     我擦!只支持iOS7及以上!那iOS6可肿么办?一运行岂不是会崩溃?


     表着急~iOS6上我们自有办法~


     

        CGRect rect = [self rectForRowAtIndexPath:self.indexOfTheCell];
        UIGraphicsBeginImageContext(rect.size);
        CGContextRef context = UIGraphicsGetCurrentContext();
        [theCell.layer renderInContext:context];
        UIImage *img = UIGraphicsGetImageFromCurrentImageContext();
        UIGraphicsEndImageContext();
        
        UIImageView *imageView = [[UIImageView alloc] initWithFrame:rect];
        imageView.image = img;

     哈哈哈。。我们得到啦!


     所以我们只需要设置一个分支,接可以啦~


     

在iOS中对cell进行局部截图

标签:截图   ios7   

原文地址:http://blog.csdn.net/sinat_21181563/article/details/43283501

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!