首页 > 代码库 > 在iOS中对cell进行局部截图
在iOS中对cell进行局部截图
今天在开发过程中遇到了一个问题,就是需要对某个控件单独进行截图。如果是对屏幕进行截图,相信大家都很熟悉,但是对于单独的一个控件呢?比如就以最通常的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进行局部截图
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。