你好,歡迎來到IOS教程網

 Ios教程網 >> IOS訊息 >> 關於IOS >> ios開發小技巧之搖一搖截屏

ios開發小技巧之搖一搖截屏

編輯:關於IOS
1、 監控搖一搖動作

 
  1> 讓當前視圖控制器成為第一響應者
 
    // 必須先讓當前視圖控制器成為第一響應者才能響應動作時間
    [self becomeFirstResponder];
  2> 實現響應方法-繼承自UIResponder的方法
 
1 - (void)motionBegan:(UIEventSubtype)motion withEvent:(UIEvent *)event
2 {
3     // 如果動作類型是搖一搖[震動]
4     if (motion == UIEventSubtypeMotionShake) {
5         
6         // 調用截屏方法
7         [self snapshot];
8     }
9 }
 
 
2、 截屏 
 
  注意: 1 > 在獲取圖像時,必須先開啟圖像上下文,再獲取上下文
 
      2 > 保存成功後執行的方法必須是固定格式的,也就是下面代碼所展示的格式
 
 1 #pragma mark - 點擊截屏按鈕
 2 - (IBAction)snapshot
 3 {
 4     // 1. 開啟圖像上下文[必須先開開啟上下文再執行第二步,順序不可改變]
 5     UIGraphicsBeginImageContext(self.view.bounds.size);
 6     
 7     // 2. 獲取上下文
 8     CGContextRef context = UIGraphicsGetCurrentContext();
 9     
10     // 3. 將當前視圖圖層渲染到當前上下文
11     [self.view.layer renderInContext:context];
12     
13     // 4. 從當前上下文獲取圖像
14     UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
15     
16     // 5. 關閉圖像上下文
17     UIGraphicsEndImageContext();
18     
19     // 6. 保存圖像至相冊
20     UIImageWriteToSavedPhotosAlbum(image, self, @selector(image:didFinishSavingWithError:contextInfo:), nil);
21 }
22 
23 #pragma mark 保存完成後調用的方法[格式固定]
24 - (void)image:(UIImage *)image didFinishSavingWithError:(NSError *)error contextInfo:(void *)contextInfo
25 {
26     if (error) {
27         NSLog(@"error-%@", error.localizedDescription);
28     }else{
29         NSLog(@"保存成功");
30     }
31 }

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved