0
我使用的UIImagePickerController与此代码的UIImagePickerController画廊代表并没有叫
func openCamera()
{
if(UIImagePickerController .isSourceTypeAvailable(UIImagePickerControllerSourceType.Camera))
{
picker.allowsEditing = false
picker.sourceType = UIImagePickerControllerSourceType.Camera
picker.cameraCaptureMode = .Photo
picker.modalPresentationStyle = .FullScreen
presentViewController(picker,
animated: true,
completion: nil)
}
else
{
openGallary()
}
}
func openGallary()
{
let menuViewController = UIImagePickerController()
menuViewController.modalPresentationStyle = .Popover
menuViewController.preferredContentSize = CGSizeMake(320, 320)
//menuViewController.tableView = FrontTable
let popoverMenuViewController = menuViewController.popoverPresentationController
popoverMenuViewController?.permittedArrowDirections = .Any
popoverMenuViewController?.delegate = self
popoverMenuViewController?.sourceView = flagBtn
popoverMenuViewController?.sourceRect = CGRect(
x: 15,
y: 25,
width: 1,
height: 1)
presentViewController(
menuViewController,
animated: true,
completion: nil)
}
func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject])
{
picker .dismissViewControllerAnimated(true, completion: nil)
let image=info[UIImagePickerControllerOriginalImage] as? UIImage
flagBtn.setImage(image, forState: .Normal)
flagBtn.setImage(image, forState: .Highlighted)
flagBtn.setImage(image, forState: .Selected)
}
随着相机委托工作正常,但与画廊的代表不工作。对于相机,我已经在类中定义了“picker”变量,并在“Viewdidload”中定义了它的代表self。我也尝试在openGallary函数中使用picker变量,但它也不起作用。
感谢它的工作 – Avim