我正在尝试使用 UIImagePickerController()制作自定义相机。我已经按照this教程进行操作,这很容易理解。但问题是,当我尝试更改叠加的shootButton的文本,或来自 viewDidLoad()/ ViewController 的 viewDidLoad()/任何其他方法的图像时比 didShoot(overlayView:CustomOverlayView),我无法改变它。它没有给出任何错误,但也没有改变。以下是我尝试更改文字或图片的内容 -
picker = UIImagePickerController() //make a clean controller
picker.allowsEditing = false
picker.sourceType = UIImagePickerControllerSourceType.camera
picker.cameraCaptureMode = .photo
picker.showsCameraControls = false
picker.cameraFlashMode = UIImagePickerControllerCameraFlashMode.on
//customView stuff
let customViewController = CustomOverlayViewController(
nibName:"CustomOverlayViewController",
bundle: nil
)
let customView:CustomOverlayView = customViewController.view as! CustomOverlayView
customView.frame = self.picker.view.layer.frame
customView.shootButton.setTitle("Changed", for: UIControlState.normal)
customView.shootButton.setImage(UIImage(named: "changedbutton"), for: .normal)
customView.delegate = self
任何人都可以帮我这个吗?我使用的是swift 3和Xcode 8.2.1。提前谢谢。
答案 0 :(得分:0)
我的主要问题是当我尝试更改任何文本或图像时,我正在创建另一个CustomOverlayView引用和一个新的选择器。因此,当我更改任何文本或图像时,它正在发生变化,但由于之前的选择器仍在视图中,因此无法显示。使用一个选择器和一个CustomOverlayView引用就可以了。