我的iOS应用程序中有一个操作按钮(使用Swift 3),我猜这在技术上是一个工具栏项目.
我现在禁用viewWillAppear()中的按钮
actionButton.isEnabled = false
然后我尝试在选择图像后启用它:
func imagePickerController(_: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) { if let image = info[UIImagePickerControllerOriginalImage] as? UIImage { imageView.image = image imageView.contentMode = .scaleAspectFit } dismiss(animated: true, completion: nil) actionButton.isEnabled = true print("selected an image in picker") }
而且我可以看到我的print语句以及正在选择的图像和活动视图控制器解除,正如预期的那样.但是,我的actionButton保持禁用状态.
有什么想法吗?我对Swift很新!
viewWillAppear()
每次在视图控制器加载之前调用.当你解散你的imagePicker,然后回去展示你viewWillAppear()
将再次调用的原始viewController,它会再次覆盖你的actionButton.isEnable = true
假.如果我是你,我会禁用按钮viewDidLoad()
,只调用一次.