iOS截屏( UIView,UITableView,UICollectionView,UIWebView)

我的博客原文地址

主要代碼

UIView+Cutter.m

/**
 *  根據(jù)視圖尺寸獲取視圖截屏
 *
 *  @return UIImage 截取的圖片
 */
- (UIImage*)viewCutter
{
    UIGraphicsBeginImageContextWithOptions(self.bounds.size,NO,[[UIScreen mainScreen] scale]);
    
    // 方法一 有時(shí)導(dǎo)航條無法正常獲取
    // [self.layer renderInContext:UIGraphicsGetCurrentContext()];
    // 方法二 iOS7.0 后推薦使用
     [self drawViewHierarchyInRect:self.bounds afterScreenUpdates:YES];
    
    UIImage*img = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
    
    return img;
}

UIScrollView+Cutter.m

/**
 *  根據(jù)視圖尺寸獲取視圖截屏(一屏無法顯示完整),適用于UIScrollView UITableviewView UICollectionView UIWebView
 *
 *  @return UIImage 截取的圖片
 */
- (UIImage *)scrollViewCutter
{
    //保存
    CGPoint savedContentOffset = self.contentOffset;
    CGRect savedFrame = self.frame;
    
    self.contentOffset = CGPointZero;
    self.frame = CGRectMake(0, 0, self.contentSize.width, self.contentSize.height);
    
    UIImage *image = [self viewCutter];
    
    //還原數(shù)據(jù)
    self.contentOffset = savedContentOffset;
    self.frame = savedFrame;
    
    return image;
    
    
}

代碼示例

/*

// 使用說明

// 沒有導(dǎo)航和tabbar
UIImage *image = [self.view viewCutter];

// 有導(dǎo)航和tabbar
UIImage *image = [self.navigationController.view viewCutter];

// UICollectionView
UIImage *image = [self.collectionView scrollViewCutter];

// UITableView
UIImage *image = [self.tableView scrollViewCutter];

// UIWebView
UIImage *image = [self.webView scrollViewCutter];

*/

圖片示例:

Cutter-1

Cutter-2

Cutter-3

完整代碼下載

參考

https://developer.apple.com/library/ios/qa/qa1817/_index.html#//apple_ref/doc/uid/DTS40014134

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 15,037評(píng)論 4 61
  • Swift版本點(diǎn)擊這里歡迎加入QQ群交流: 594119878最新更新日期:18-09-17 About A cu...
    ylgwhyh閱讀 25,990評(píng)論 7 249
  • 提問 深度閱讀進(jìn)行的第一個(gè)即提問。 我最近看書反復(fù)的提問讓自己提出感興趣的問題,增加讀書的興趣,為尋求知識(shí)更專注,...
    大喵源滾滾閱讀 260評(píng)論 0 0
  • 夜晚不由分說來臨 當(dāng)我放下白晝刀槍不入的面具 將疲憊的大腦至于夢的溫床上 發(fā)覺黑暗中其實(shí)手無寸鐵 身體需要安眠 恐...
    微笑的百合花閱讀 179評(píng)論 0 0
  • 一、經(jīng)營婚姻的重要性 不幸的婚姻承受者的患病概率大約增加35%,并且平均壽命縮短三年。 良好的人際關(guān)系,指的并...
    段運(yùn)玲閱讀 1,393評(píng)論 0 0

友情鏈接更多精彩內(nèi)容