gpt4 book ai didi

ios - 用户在 UIImageView 中绘制内容后,如何将绘图保存在 tableview 中?

转载 作者:行者123 更新时间:2023-11-30 13:58:03 25 4
gpt4 key购买 nike

我有保存按钮的代码,但现在我需要显示保存在表格 View 中的绘图。我已经完成了 TableView Controller 的某些部分,但要让图像显示并保存在 TableView 中是我所坚持的地方。我该怎么做?这是代码:

@IBAction func saveButton(sender: AnyObject) {
self.navigationController?.popToRootViewControllerAnimated(true)
self.navigationController?.setNavigationBarHidden(false, animated: true)
self.navigationController?.toolbarHidden = false


UIGraphicsBeginImageContextWithOptions(view.bounds.size, false, 0.0)
view.drawViewHierarchyInRect(view.bounds, afterScreenUpdates: true)
let image = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
let data = UIImagePNGRepresentation(image)



let documentsURL = NSFileManager.defaultManager().URLsForDirectory(.DocumentDirectory, inDomains: .UserDomainMask)[0]
let fileURL = documentsURL.URLByAppendingPathComponent("image.png").path!
data?.writeToFile(fileURL, atomically: true)
}


//CODE EDITED
//MasterViewControllerTableView

var myImages: [UIImage] = [UIImage]()

override func viewDidAppear(animated: Bool) {


let image = UIGraphicsGetImageFromCurrentImageContext()
myImages.append(image)
}




override func numberOfSectionsInTableView(tableView: UITableView?) -> Int {
return 1
}



override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {

return myImages.count
}



override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell

{


let cell2 = tableView.dequeueReusableCellWithIdentifier("Cell2", forIndexPath: indexPath) as UITableViewCell
let imageView = UIImageView(frame: CGRectMake(0, 0, 40, 40))
imageView.image = myImages[indexPath.row]
cell2.addSubview(imageView)
return cell2
}


// Override to support editing the table view.
override func tableView(tableView: UITableView, commitEditingStyle editingStyle: UITableViewCellEditingStyle, forRowAtIndexPath indexPath: NSIndexPath) {
if editingStyle == UITableViewCellEditingStyle.Delete {

}
}



override func tableView(tableView: UITableView,
heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
return 40 //Some number to fit the image
}




override func tableView(tableView: UITableView, canMoveRowAtIndexPath indexPath: NSIndexPath) -> Bool {
// Return false if you do not want the item to be re-orderable.
return true
}

最佳答案

尚不清楚您的应用程序是如何构造的,但基本思想仍然是相同的。

创建一个 UIImage 数组,并在每次保存图像时添加到该数组中。

创建数组 var myImages: [UIImage] = [UIIMage]()(将其放在 UIImageViewUITableView 可以访问它的地方)。

将图像添加到数组:myImages.append(image)

然后将您的 numberOfRowsInSection 修改为:

override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return myImages.count
}

在单元格中显示图像,如下所示:

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath) as UITableViewCell
let imageView = UIImageView(frame: CGRectMake(0, 0, 40, 40))
imageView.image = myImages[indexPath.row]
cel.addSubview(imageView)
return cell
}

修改heightForRowAtIndexPath以适合图像:

func tableView(tableView: UITableView,
heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
return 40 //Some number to fit the image
}

这只是您可以采取哪些措施来实现您所寻求的目标的简述。

编辑

@IBAction func saveButton(sender: AnyObject) {
self.navigationController?.popToRootViewControllerAnimated(true)
self.navigationController?.setNavigationBarHidden(false, animated: true)
self.navigationController?.toolbarHidden = false
UIGraphicsBeginImageContextWithOptions(view.bounds.size, false, 0.0)
view.drawViewHierarchyInRect(view.bounds, afterScreenUpdates: true)
let image = UIGraphicsGetImageFromCurrentImageContext()
//Save Image Here
myImages.append(image)
UIGraphicsEndImageContext()
let data = UIImagePNGRepresentation(image)
let documentsURL = NSFileManager.defaultManager().URLsForDirectory(.DocumentDirectory, inDomains: .UserDomainMask)[0]
let fileURL = documentsURL.URLByAppendingPathComponent("image.png").path!
data?.writeToFile(fileURL, atomically: true)
}

关于ios - 用户在 UIImageView 中绘制内容后,如何将绘图保存在 tableview 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33351976/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com