启动该应用程序时,我默认使用的图标出现问题。它们不会出现,但是当我用从另一个控制器拍摄的照片代替它时,它不会消失。这是我的代码的一部分
我尝试设置一些条件,但到目前为止不起作用。
//Default images
let defImage1: UIImage? = UIImage(named: "media")
let defImage2: UIImage? = UIImage(named: "media2")
class PDFViewViewController: UIViewController, UITextFieldDelegate, MFMailComposeViewControllerDelegate {
//Asset image
var image: UIImage? = nil
var secondImage: UIImage? = nil
var codigo = UserDefaults.standard.object(forKey: "code") as? String
//UI Conections
@IBOutlet weak var productPhoto: UIImageView!
@IBOutlet weak var barcodePhoto: UIImageView!
@IBOutlet weak var invNumb: UITextField!
override func viewDidLoad() {
super.viewDidLoad()
//declaring default image to image view
productPhoto.image = defImage1
barcodePhoto.image = defImage2
//Assign new image to the view
invNumb.delegate = self
if self.invNumb != nil && self.productPhoto != defImage1 {
if image != UIImage(named: "media") {
saveImage(image: self.image!, withName: "assetPicture")
}
} else {
productPhoto.image = defImage1
}
let theSavedImage = getImage(imageName: "assetPicture")
productPhoto.image = theSavedImage
//Assign values to fields
invNumb.text = codigo
if barcodePhoto != nil {
if productPhoto != nil {
saveImage(image: self.secondImage!, withName: "barcodePicture")
}
} else {
barcodePhoto.image = defImage2
}
let theSecondSavedImage = getImage(imageName: "barcodePicture")
barcodePhoto.image = theSecondSavedImage
}
//Save asset image function
func saveImage(image: UIImage, withName name: String) {
let imageData = NSData(data: UIImageJPEGRepresentation(image, 400)!)
let paths = NSSearchPathForDirectoriesInDomains(FileManager.SearchPathDirectory.documentDirectory, FileManager.SearchPathDomainMask.userDomainMask, true)
let docs = paths[0] as NSString
let name = name
let fullPath = docs.appendingPathComponent(name)
_ = imageData.write(toFile: fullPath, atomically: true)
}
点击图像时,它将打开相机并保存您拍摄的照片(如果未拍摄任何照片),然后将其保留为defImage。但是,当您点击一个图像时,另一个图像就消失了。