在UIImagePickerController内的UIBarButton上添加系统相机

时间:2016-01-29 11:59:03

标签: ios swift uiimagepickercontroller

如果您熟悉UIImagePickerController的{​​{1}}屏幕,则右侧会有取消按钮。在左侧,我想添加一个可以在XCode库中找到的Camera图标。

我的代码无效。

.PhotoLibrary

2 个答案:

答案 0 :(得分:1)

提到这个post,并从目标C解释为Swift。

我找到了解决问题的方法。此方法将在加载的视图控制器中执行我需要的任何自定义。

func navigationController(navigationController: UINavigationController, willShowViewController viewController: UIViewController, animated: Bool) {

    let camera = UIBarButtonItem(barButtonSystemItem: .Camera, target: self, action: Selector("btnOpenCamera"))
    viewController.navigationItem.leftBarButtonItem = camera
}

答案 1 :(得分:0)

在代码执行期间,它可能会将navigationItem重置为其他位置(例如,在viewDidLayoutSubviews中)。

您可以尝试从UIImagePickerController继承并重新实现

func viewWillAppear(animated:Bool) {
super.viewWillAppear(animated)

let camera = UIBarButtonItem(barButtonSystemItem: .Camera, target: , action:self Selector("btnOpenCamera"))//you can handle this with delegate if you want
self.navigationItem.leftBarButtonItem = camera
}

不只是使用继承的类而不是标准的UIImagePickerController。希望它有所帮助。