【问题标题】:How to save the photo you uploaded with imagepicker as a new post?如何将您使用 imagepicker 上传的照片保存为新帖子?
【发布时间】:2021-12-29 22:01:00
【问题描述】:

我有一个tableViewviewController。我需要使用图像选择器添加一张照片(我已经这样做了),然后我需要将其与描述一起保存为我的 tableView 中的新帖子。最好的方法是什么?

我已经找到了如何在tableView 中将文本添加为​​新单元格的信息,但这不是我想要的。

这是我的代码

@IBAction func photoButton(_ sender: UIButton){  
    let vc = UIImagePickerController()
    vc.sourceType = .photoLibrary //PHPpicker
    vc.delegate = self
    vc.allowsEditing = true
    present(vc,animated: true)
 }

    
@IBAction func saveButtonPressed(_ sender: UIButton){

}
extension NewPostScreenController : UIImagePickerControllerDelegate , UINavigationControllerDelegate {
    func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) {
        
        UIImagePickerController.InfoKey(rawValue: "")
        
        if let image = info[UIImagePickerController.InfoKey(rawValue: "UIImagePickerControllerEditedImage")] as? UIImage {
            ChangeImage.image = image
        }
        picker.dismiss(animated: true, completion: nil)
        
    }
    func imagePickerControllerDidCancel(_ picker: UIImagePickerController) {
        picker.dismiss(animated: true, completion: nil)
    }
}

我应该在saveButtonPressed 中添加什么?

【问题讨论】:

    标签: ios swift uiimagepickercontroller


    【解决方案1】:

    我的建议是确保将问题分解为多个部分。您的解决方案可能至少需要以下几点:

    1. 您需要一个委托/协议方法来向 tableView 发出 UIPickerView 获得图像的信号。然后,您需要以某种方式将该图像传递回 tableView。
    2. 在分配给 tableView 的 TableViewDataSource 中,您需要接收信号并对其进行处理:
    3. 您可能需要一个包含 UIImageView 子视图或 UIImage 属性的 UITableViewCell 子类。有很多方法可以对此进行皮肤处理,但可能最简单的方法是使用情节提要中的原型单元并进行自动布局+连接插座。其他可能性是创建一个带有 xib 的 CocoaTouch 类,并在您的 cellForRowAt 函数中调用它。
    4. 您需要为 TableViewDelegate 在 cellForRowAt 中的所述自定义 UITableViewCell 中设置 UIImage
    5. 当您收到收到新图像的信号时,您可能希望在委托函数中调用 tableView.reloadTable,以便在用户完成后重新加载。

    【讨论】:

    • 这就是我要找的,tnx
    • 很高兴我能帮上忙!
    【解决方案2】:

    请记住,您需要在 tableView 中实现 UITableViewCell 以显示帖子。

    现在,要保存帖子并且在关闭应用程序时不会删除这些帖子,我建议使用 UserDefaults 或 Core Data 将帖子仅保存在您的手机中,或者使用 Firebase 将帖子保存在数据云中。 使用 firebase,您无需编写服务器代码即可保存数据。

    Firebase 页面 https://firebase.google.com

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-03-13
      • 2014-07-21
      • 2015-01-17
      • 2013-09-27
      • 1970-01-01
      • 2014-11-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多