iOS UI ImagePicker Controlを使用して写真をインポート
このプレゼンテーションでは、ライブラリから写真を取得したり、カメラを使用して直接写真をアップロードしたりする方法について説明します.
会員入選画面が表示されます.表示されたアイコンにラベルを付けて、フォトライブラリを実行できます.
まず、アクションテーブルをボタンアクションとして追加し、
ActionSheetについて詳しくない場合は、https://medium.com/swift-india/uialertcontroller-in-swift-22f3c5b1dd68を参照してください.
撮影またはロードした写真をアプリケーションにインポートする場合は、依頼を行えばよい.
そしてユーザが選択した画像を求める.
会員入選画面が表示されます.表示されたアイコンにラベルを付けて、フォトライブラリを実行できます.
let gesture = UITapGestureRecognizer(target: self,
action: #selector(didChangeProfilePic))
imageView.addGestureRecognizer(gesture)
@objc private func didChangeProfilePic() {
presentPhotoActionSheet()
}
ImageViewにTapGestureReceinterを登録し、target-action方式でpresentPhotoActionSheet()
を登録します.まず、アクションテーブルをボタンアクションとして追加し、
presentCamera()
ライブラリで写真を撮るかpresentPhotoPicker()
ライブラリで写真を撮るかを選択します.ActionSheetについて詳しくない場合は、https://medium.com/swift-india/uialertcontroller-in-swift-22f3c5b1dd68を参照してください.
func presentPhotoActionSheet() {
let actionSheet = UIAlertController(title: "Profile Picture", message: "How would you like to select a picture?", preferredStyle: .actionSheet)
actionSheet.addAction(UIAlertAction(title: "Cancel", style: .cancel, handler: nil))
actionSheet.addAction(UIAlertAction(title: "Take Photo", style: .default, handler: { [weak self] _ in
self?.presentCamera()
}))
actionSheet.addAction(UIAlertAction(title: "Choose Photo", style: .default, handler: { [weak self] _ in
self?.presentPhotoPicker()
}))
present(actionSheet, animated: true)
}
写真を撮ります!
func presentCamera() {
let vc = UIImagePickerController()
vc.sourceType = .camera
vc.delegate = self
vc.allowsEditing = true
present(vc, animated: true)
}
ライブラリから写真を呼びます!
func presentCamera() {
let vc = UIImagePickerController()
vc.sourceType = .photoLibrary
vc.delegate = self
vc.allowsEditing = true
present(vc, animated: true)
}
2つの方法から見ると、大きな違いはなく、UIImagePickerController.sourceType
と.camera
の違いにすぎない.写真をViewControllerに持って行きます!
撮影またはロードした写真をアプリケーションにインポートする場合は、依頼を行えばよい.
// when user takes a photo
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) {
picker.dismiss(animated: true, completion: nil)
guard let selectedImage = info[UIImagePickerController.InfoKey.editedImage] as? UIImage else {
return
}
self.imageView.image = selectedImage
}
func imagePickerControllerDidCancel(_ picker: UIImagePickerController) {
picker.dismiss(animated: true, completion: nil)
}
Picker Controlを画面から離します..photoLibrary
そしてユーザが選択した画像を求める.
picker.dismiss(animated:, completion:)
Reference
この問題について(iOS UI ImagePicker Controlを使用して写真をインポート), 我々は、より多くの情報をここで見つけました https://velog.io/@bbuyo/iOS-UIImagePickerController를-이용한-사진-가져오기テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol