私はiOS開発の新機能を使用しています。私は現在、XCode 8のSwift 3で開発中です。UITapGestureRecognizerが適切に起動していません
私はストーリーボードの画像ビューにUITapGestureRecognizerを接続したチュートリアルのポイントにいます。私は、ライブラリから写真を取り出してイメージビューに配置するアクションを実装するコードを書いています。シミュレーションを実行して画像ビューをクリックすると、写真やその他のものにアクセスすることをアプリに要求するポップアップは表示されません。以下は、私がここで
import UIKit
class ViewController: UIViewController, UITextFieldDelegate, UIImagePickerControllerDelegate, UINavigationControllerDelegate {
// MARK: Properties
@IBOutlet weak var mealNameLabel: UILabel!
@IBOutlet weak var nameTextField: UITextField!
@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 : AnyObject]) {
// The info dictionary contains multiple representations of the image, and this uses the original.
let selectedImage = info[UIImagePickerControllerOriginalImage] as! UIImage
// 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"
}
}
を書かれているコードは、コンソール出力が前にあると私はイメージ図下のポストから基づい
2016-10-25 13:11:05.115607 TestApp1[17930:1007384] subsystem: com.apple.UIKit, category: GestureEnvironment, enable_level: 0, persist_level: 0, default_ttl: 1, info_ttl: 0, debug_ttl: 0, generate_symptoms: 0, enable_oversize: 1, privacy_setting: 2, enable_private_data: 0
2016-10-25 13:11:05.116342 TestApp1[17930:1007384] subsystem: com.apple.UIKit, category: GestureExclusion, enable_level: 0, persist_level: 0, default_ttl: 1, info_ttl: 0, debug_ttl: 0, generate_symptoms: 0, enable_oversize: 1, privacy_setting: 2, enable_private_data: 0
をクリックした後、私はまた、選択しているとinfo.plistに "Privacy - Photo Library Usage Description"キーを追加しましたが、ダイスも追加しませんでした。私は写真のライブラリがポップアップする取得できますか
UIImagePickerController crashes app | Swift3, Xcode8
?
タップジェスチャーを作成して設定するコードはどこですか? – rmaddy
認識プログラムをコントローラにバインドしましたか? –
@rmaddy私はあなたが探しているものは、コードの下にあるselectImageFromPhotoLibraryという関数名の下にあると推測しています。 – LampPost