Custom anonymous closure navigation push button inside of UiView()

У меня есть (MainController) в котором находится tableView, для tableViewHeader я создал кастомную вьюшку (CustomView) отдельно в другой папке - где я добавил лейблы и тд, внутри данной кастомной вьюшки находится кнопка при нажатии на которую должно отобразиться мой второй контроллер (SettingsController). Как можно решить эту проблему ? Пишу код программно - (NO STORYBOARD)

class CustomView: UIView {
..........................

  // Это та самая данная кнопка
  lazy var settingsButton: UIButton = {
    let button = UIButton()
    let image = UIImage(named: "gearshape")
    button.setImage(image, for: .normal)
    button.tintColor = .white
    button.isHidden = true
    button.addTarget(self, action: #selector(goToSettings), for: .touchUpInside)
    button.translatesAutoresizingMaskIntoConstraints = false
    return button
  }() 

  @objc func goToSettings() {
    
  }
}

Вот мой основной контроллер

class MainController: UIViewController {
    // Прочие вещи и тд
    ....................................

    // Данная функция работает с дефолтным контроллером навигации
    // мне нужно как то подключить данную функцию к моей кастномной вьюшки
    // то есть при нажатии на кнопку settingsButton
    // Все данные SettingsController получает из модели Setting

    func showControllerForSetting(setting: Setting) {
       let dummySettingViewController = UIViewController()
       dummySettingViewController.view.backgroundColor = .white
       dummySettingViewController.navigationItem.title = setting.sizeName.rawValue
       navigationController?.navigationBar.barStyle = .default
       navigationController?.navigationBar.tintColor = .white
       let textAttributes = [NSAttributedString.Key.foregroundColor: UIColor.white]
       navigationController?.navigationBar.titleTextAttributes = textAttributes
       navigationController?.pushViewController(dummySettingViewController, animated: true)
   }
}

В итоге: Есть главный контроллер который содержит кастомную вьюшку. Внутри этой вьюшки - есть кнопка при нажатаий на который должно отобразить другой контроллер SettingsController. Как можно отобразить и решить проблему? Не использую сторибоард (NO STORYBOARD)


Ответы (0 шт):