UIButton обнуляется, когда я открываю настройки viewController - PullRequest
0 голосов
/ 20 мая 2018

У меня есть карта и кнопка увеличения / уменьшения на ней как сильная розетка и настройки viewController, где приложение показывает / скрывает настройки сбоя, потому что кнопка розетки становится нулевой.Как решить эту проблему?

В mainViewController:

@IBOutlet var zoomIn: UIButton!
@IBOutlet var zoomOut: UIButton!
...

и

func setZoomFalse(){
    zoomIn.isHidden = true
    zoomOut.isHidden = true
}

func setZoomTrue(){
    zoomIn.isHidden = false
    zoomOut.isHidden = false
}

SettingsViewController открывается с помощью:

self.present(self.settingsViewController, animated: true, completion: nil)

из слайд-меню

и этот вызов вызывает сбой в настройках ViewController:

@objc func switchChanged1(_ sender : UISwitch!){
    let defaults = UserDefaults.standard

    defaults.set(sender.isOn, forKey: settingsView.settingsIsZoom)

    isZoom = sender.isOn

    if isZoom {
        mainViewController.setZoomTrue()
    } else {
        mainViewController.setZoomFalse()
    }
}

1 Ответ

0 голосов
/ 24 мая 2018

Я решаю это таким образом, я устанавливаю глобальную переменную в true в settingsViewController, которая определяется как глобальная в maonViewController, выше определения класса и в viewWillApear, проверяют, является ли эта переменная истинной, и если да, я вызываю setZoomTrue, и она работает на этомкстати, когда он вызывается из другого viewController, он вылетает с сообщением nil ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...