gpt4 book ai didi

ios - Apple iOS Development Guide 上应该没有问题的时候

转载 作者:行者123 更新时间:2023-11-28 08:11:20 26 4
gpt4 key购买 nike

我今天开始使用 Apple's Official Guide for Swift Development 开始学习 iOS 开发.

我已经到达了 Work with View Controllers .在页面末尾之前有一个检查点,我应该在模拟器上运行应用程序,当我单击 ImageView 时,我应该得到 SIGABRT 错误,因为我没有权限显示图像。

不仅我没有收到任何错误消息,而且当我单击 ImageView 时也没有任何反应。

我已经检查了所有文件 3 次以确保我没有遗漏任何内容。我什至创建了一个新项目以确保一切正常,但它仍然不起作用。

ViewController.swift:

import UIKit

class ViewController: UIViewController, UITextFieldDelegate, UIImagePickerControllerDelegate, UINavigationControllerDelegate {

//MARK: Properties
@IBOutlet weak var nameTextField: UITextField!
@IBOutlet weak var mealNameLabel: UILabel!
@IBOutlet weak var photoImageView: UIImageView!

override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.

// Handle the text field's user input through delegate callbacks.
nameTextField.delegate = self
}

//MARK: UITextFieldDelegate
func textFieldShouldReturn(_ textField: UITextField) -> Bool {
// Hide the keyboard.
textField.resignFirstResponder()

return true
}

func textFieldDidEndEditing(_ textField: UITextField) {
mealNameLabel.text = textField.text
}

//MARK: UIImagePickerControllerDelegate
func imagePickerControllerDidCancel(_ picker: UIImagePickerController) {
// Dismiss the picker if the user canceled.
dismiss(animated: true, completion: nil)
}

func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {
// The info dictionary may contain multiple representations of the image. You want to use the original.
guard let selectedImage = info[UIImagePickerControllerOriginalImage] as? UIImage else {
fatalError("Expected a dictionary containing an image, but was provided the following: \(info)")
}

// Set photoImageView to display the selected image.
photoImageView.image = selectedImage

// Dismiss the picker.
dismiss(animated: true, completion: nil)
}

//MARK: Actions
@IBAction func selectImageFromPhotoLibrary(_ sender: UITapGestureRecognizer) {
// Hide the keyboard.
nameTextField.resignFirstResponder()

// UIImagePickerController is a view controller that lets a user pick media from their photo library.
let imagePickerController = UIImagePickerController()

// Only allow photos to be picked, not taken.
imagePickerController.sourceType = .photoLibrary

// Make sure ViewController is notified when the user picks an image.
imagePickerController.delegate = self
present(imagePickerController, animated: true, completion: nil)
}

@IBAction func setDefaultLabelText(_ sender: UIButton) {
mealNameLabel.text = "Default Text"
}
}

主要 Storyboard: Main.storyboard

你能帮我解决一下吗?

最佳答案

当您在未经许可的情况下尝试访问相机胶卷时,应该会发生此错误。

iOS 10 要求您添加说明,说明您想要访问相机胶卷的原因。这需要使用 key Privacy - Photo Library Usage Description

添加到 info.plist 文件中

如果您没有收到此错误,我猜您已经在我们正在旧版本 iOS 上运行的 plist 文件中输入了此信息?或者访问相机胶卷的代码实际上并未触发,您可能需要点击屏幕或按下按钮来启动代码。

关于ios - Apple iOS Development Guide 上应该没有问题的时候,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43677970/

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