美文网首页面试iOS DeveloperiOS Development
iOS摇一摇截屏功能的实现

iOS摇一摇截屏功能的实现

作者: 爱抽烟的芭比 | 来源:发表于2017-02-22 00:03 被阅读681次

1.摇一摇功能的实现:

在viewDidLoad方法中调用:

[[UIApplication sharedApplication]setApplicationSupportsShakeToEdit:YES];

在viewWillAppear方法中调用:

[self becomeFirstResponder];

为了防止意外发生,需要在viewWillDisappear方法中调用:

[self resignFirstResponder];

实现和摇一摇相关的三个方法:

#pragma mark - ShakeToEdit
-(void)motionBegan:(UIEventSubtype)motion withEvent:(UIEvent *)event
{
    //手机震动
    dispatch_queue_t queue = dispatch_queue_create("shake", NULL);
    dispatch_async(queue, ^{
        [self shake];
    });
      
}

-(void)motionCancelled:(UIEventSubtype)motion withEvent:(UIEvent *)event
{
    NSLog(@"cancel");
    
}

-(void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event
{
    UIImage *image = [self  screenshot];
    
    if(image){
        [ShowView showWithImage:image AndSaveClick:^{
            [self saveImageToPhotos:image];
        }];
    }
}

2.屏幕截图功能的实现:

#pragma mark - ScreenShot
-(UIImage *)screenshot{
    
    UIView *view = self.view;
    //  float scale = [[UIScreenmainScreen] scale];//得到设备的分辨率
    //  scale = 1; 的时候是代表当前设备是320*480的分辨率(就是iphone4之前的设备)
    //  scale = 2; 的时候是代表分辨率为640*960的分辨率
    
    //绘图
    //第一个参数表示区域大小。第二个参数表示是否是非透明的。如果需要显示半透明效果,需要传NO,否则传YES。第三个参数就是屏幕密度了,关键就是第三个参数。
    UIGraphicsBeginImageContextWithOptions(view.frame.size, NO, [UIScreen mainScreen].scale);
    //渲染
    [view.layer renderInContext:UIGraphicsGetCurrentContext()];
    //生产图片
    UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();    
    return image;
}

相关文章

  • iOS 实现摇一摇截屏功能

    今天领导在群里发了这样一个图 并配上了这样一句话 意图明显,安排~ 实现 经过不那么久的时间研究,发现实现这个小功...

  • iOS摇一摇截屏功能的实现

    1.摇一摇功能的实现: 在viewDidLoad方法中调用: 在viewWillAppear方法中调用: 为了防止...

  • ios 摇一摇实现

    原文地址:iOS使用CoreMotion实现摇一摇功能 现在网上介绍的iOS摇一摇功能,基本是以借助系统的Shak...

  • iOS实现“摇一摇”与“扫一扫”功能示例代码

    本篇文章主要介绍了iOS实现“摇一摇”与“扫一扫”功能示例代码;有需要的朋友可以作为参考下: “摇一摇”功能的实现...

  • 摇一摇

    对于摇一摇功能 iOS 中已经提供了接口.直接调用就好了.实现步骤:1). 监听摇一摇方法 2). 实现下面的方法...

  • iOS摇一摇功能实现

    看到微信的摇一摇功能是不是感觉很神奇呢?其实在iOS里想要实现摇一摇功能很简单,方法如下: 先在targets -...

  • iOS 摇一摇功能 可自定义摇动力度等

    现在网上介绍的iOS摇一摇功能,基本是以借助系统的ShakeToEdit功能来实现,什么是ShakeToEdit?...

  • iOS 摇一摇功能实现

    实现摇一摇功能只需要当前Controller支持摇动功能,Controller默认是支持的,同时让它成为第一响应者...

  • iOS「摇一摇」功能的实现

    iOS 系统在 UIResponder 类中提供了一个摇一摇的实现方法,大体实现思路为: 想让哪个 VC 实现摇一...

  • iOS「摇一摇」功能的实现

    iOS 系统在 UIResponder 类中提供了一个摇一摇的实现方法,大体实现思路为: 想让哪个 VC 实现摇一...

网友评论

  • 莦婼姑娘:请问一下,怎么能检测到短时间内,两次摇手机呢?两次摇的话就是执行两遍截屏
  • RenXiangCode:想请教你一个问题,我要息屏之后要实现摇一摇功能,目前我只能实现亮屏摇一摇功能,息屏之后就不行了,初步估计是和摇一摇那几个代码写的位置有关系(酷狗息屏之后可以摇一摇换歌)

本文标题:iOS摇一摇截屏功能的实现

本文链接:https://www.haomeiwen.com/subject/qwrpwttx.html