在我的螢屏上,我需要添加三個影像,因為我有三個單獨的按鈕
代碼:這EasyImagePicker是我的自定義影像選擇器 ..但使用下面的代碼,如果我從影像選擇器中選擇任何一張影像,那么它會添加所有三張影像
class EditProfileImagesVC: UIViewController {
private var imagePicker : EasyImagePicker?
private var imagePicker1 : EasyImagePicker?
private var imagePicker2 : EasyImagePicker?
@IBOutlet weak var profilePicImage: UIImageView!
@IBOutlet weak var leftProfilePicImg: UIImageView!
@IBOutlet weak var rightProfilePicImg: UIImageView!
override func viewDidLoad() {
super.viewDidLoad()
imagePicker = EasyImagePicker(presentationController: self, delegate: self)
imagePicker1 = EasyImagePicker(presentationController: self, delegate: self)
imagePicker2 = EasyImagePicker(presentationController: self, delegate: self)
}
@IBAction func profilePicBtn(_ sender: UIButton) {
imagePicker?.present(from: sender, mediaType: .images, onViewController: self)
}
@IBAction func leftProfileBtn(_ sender: UIButton) {
imagePicker1?.present(from: sender, mediaType: .images, onViewController: self)
}
@IBAction func rightProfileBtn(_ sender: UIButton) {
imagePicker2?.present(from: sender, mediaType: .images, onViewController: self)
}
}
extension EditProfileImagesVC : EasyImagePickerDelegate{
func didSelect(image: UIImage?, video: URL?, fileName: String?) {
if let img = image{
profilePicImage.image = img
}
if let img1 = image{
leftProfilePicImg.image = img1
}
if let img2 = image{
rightProfilePicImg.image = img2
}
}
}
如何使用imagepicker為三個影像選擇三個不同的影像..請指導我
uj5u.com熱心網友回復:
原因是這里沒有任何東西可以區分單擊了哪個按鈕,因此結果設定為所有影像視圖
func didSelect(image: UIImage?, video: URL?, fileName: String?) {
if let img = image{
profilePicImage.image = img
}
if let img1 = image{
leftProfilePicImg.image = img1
}
if let img2 = image{
rightProfilePicImg.image = img2
}
}
你需要
enum ImageChooser {
case profile,left,right
}
class EditProfileImagesVC: UIViewController {
private var imagePicker : EasyImagePicker?
@IBOutlet weak var profilePicImage: UIImageView!
@IBOutlet weak var leftProfilePicImg: UIImageView!
@IBOutlet weak var rightProfilePicImg: UIImageView!
var chooser:ImageChooser = .profile
override func viewDidLoad() {
super.viewDidLoad()
imagePicker = EasyImagePicker(presentationController: self, delegate: self)
}
@IBAction func profilePicBtn(_ sender: UIButton) {
chooser = .profile
imagePicker?.present(from: sender, mediaType: .images, onViewController: self)
}
@IBAction func leftProfileBtn(_ sender: UIButton) {
chooser = .left
imagePicker1?.present(from: sender, mediaType: .images, onViewController: self)
}
@IBAction func rightProfileBtn(_ sender: UIButton) {
chooser = .right
imagePicker2?.present(from: sender, mediaType: .images, onViewController: self)
}
}
extension EditProfileImagesVC : EasyImagePickerDelegate{
func didSelect(image: UIImage?, video: URL?, fileName: String?) {
if let img = image {
if chooser == .profile {
profilePicImage.image = img
}
else
if chooser == .left {
leftProfilePicImg.image = img
}
else
if chooser == .right {
rightProfilePicImg.image = img
}
}
}
}
uj5u.com熱心網友回復:
將選擇器參考添加到 func didSelect(image: UIImage?, video: URL?, fileName: String?)
這樣 func didSelect(picker: EaseImagePicker, image: UIImage?, video: URL?, fileName: String?)
從選擇器呼叫它并參考 self didSelect(picker: self, image: selectedImage, video: nil, fileName: nil)
func didSelect(picker: EaseImagePicker, image: UIImage?, video: URL?, fileName: String?) {
if let img = image{
switch picker {
case imagePicker:
profilePicImage.image = img
case imagePicker1:
leftProfilePicImg.image = img
case imagePicker2:
rightProfilePicImg.image = img
default:
break
}
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/322504.html
