我需要截取特定UITableView行的屏幕截圖,並在屏幕截圖前刪除/添加內容到單元格。Swift 3 - 如何截取特定UITableView行的屏幕截圖
例如:單元格只包含文本和共享按鈕。在分享按鈕點擊,我希望應用程序生成與文字和我的應用程序的頂部標誌(沒有的份額按鈕)的圖像。
這樣做的最佳方法是什麼?如何?
在此先感謝。
我需要截取特定UITableView行的屏幕截圖,並在屏幕截圖前刪除/添加內容到單元格。Swift 3 - 如何截取特定UITableView行的屏幕截圖
例如:單元格只包含文本和共享按鈕。在分享按鈕點擊,我希望應用程序生成與文字和我的應用程序的頂部標誌(沒有的份額按鈕)的圖像。
這樣做的最佳方法是什麼?如何?
在此先感謝。
@Nirav已經給了你一個提示與這篇文章的評論部分:
How to take screenshot of portion of UIView?
所以,你現在必須得到在上海華小區的矩形,所以我做了一個樣本的操作方法:
@IBOutlet var snapImageView: UIImageView!
@IBAction func snapshotrow(_ sender: Any) {
//get the cell
if let cell = myTable.cellForRow(at: IndexPath(row: 0, section: 0)) as? MyCustomCellClass {
//hide button
cell.shareButton.isHidden = true
let rectOfCellInTableView = myTable.rectForRow(at: IndexPath(row: 0, section: 0))
let rectOfCellInSuperview = myTable.convert(rectOfCellInTableView, to: myTable.superview)
snapImageView.image = self.view.snapshot(of: rectOfCellInSuperview)
let finalImage = saveImage(rowImage: snapImageView.image)
//test final image
snapViewImage.image = finalImage
}
}
func saveImage(rowImage: UIImage) -> UIImage {
let bottomImage = rowImage
let topImage = UIImage(named: "myLogo")!
let newSize = CGSize.init(width: 41, height: 41) // set this to what you need
UIGraphicsBeginImageContextWithOptions(newSize, false, 0.0)
bottomImage.draw(in: CGRect(origin: .zero, size: newSize))
topImage.draw(in: CGRect(origin: .zero, size: newSize))
let newImage = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
return newImage
}
,我能得到我的表視圖的第0細胞的快照,並將其分配給snapImageView
。
現在最後一步是將圖像保存到相機膠捲上,在這裏有很多相關的文章。
來源:Get Cell position in UITableview
添加標識和隱藏分享按鈕:Saving an image on top of another image in Swift
謝謝,如果截圖解決了這個問題。但仍然需要dd應用程序徽標 – nouf
答案已更新,在圖像上添加了徽標並共享按鈕隱藏 –
[http://stackoverflow.com/questions/39283807/how-to-take-screenshot-of-portion-of-uiview ](http://stackoverflow.com/questions/39283807/how-to-take-screenshot-of-portion-of-uiview) –
@NiravHathi謝謝,但那不能回答我的問題。 – nouf
所以你有你的形象與你的標誌,你只需要添加文字呢? –