Мне нужно получить ссылку (объект) UIViewController
в подклассе UIButton
.Здесь я попробовал что-то, но не смог.
class NavigationBarButton: UIButton {
override func didMoveToSuperview() {
super.didMoveToSuperview()
var viewController: UIViewController? {
var nextResponder: UIResponder? = self
repeat {
nextResponder = nextResponder?.next
if let viewController = nextResponder as? UIViewController {
return viewController
}
} while nextResponder != nil
return nil
}
guard let vcViewController = self.viewController else { print("NavigationBarButton view controller could not found"); return }
print("handle further operations with ViewController of Button")
}
}
class FirstVC: UIViewController {
@IBOutlet weak var myButton: NavigationBarButton?
}
Результат:
Не удалось найти контроллер представления NavigationBarButton
Есть лииначе, не обновляя UIViewController, я могу получить ссылку на контроллер представления в подклассе UIButton.Любой другой метод UIButton может помочь мне здесь, где я могу получить контроллер вида кнопки.
Подобный SO Que.но не подходит для этой проблемы: Получить текущий UIViewController из класса UIButton