1. view和layer概念理解:
a.layer是负责显示的,view是负责处理事件的;
b.我们能看到的都是layer,截图也是通过layer来操作的;
c.截屏,截的是某一个view。
2. 核心代码
-(void)renderInContext:(CGContextRef)ctx;
截图基本思路:
1、获取控件的 layer对象
2、调用 layer 对象的 renderInContext:方法渲染到上下文中
注意:UISegmentedControl 渲染时有问题(Xcode的一个bug)
3. UIImageView可以做点击事件的前提
UIImageView也是可以做点击事件的,前提是User Interaction Enabled得打开,然后通过一个手势就可以对它进行点击了。
4. 屏幕截图Demo
// 1.开启图片上下文
UIGraphicsBeginImageContextWithOptions(self.view.bounds.size,NO, 0);
// 3.获取当前上下文
CGContextRefctx = UIGraphicsGetCurrentContext();
// 4.截图:实际是把layer上面的东西绘制到上下文中