Нажмите rootViewController через viewController

Я пытаюсь добавить TopView в свое приложение, оно будет одинаковым для каждого вида. я делаю вот так

let vcTopMenu = storyboard?.instantiateViewControllerWithIdentifier("TopMenu")
        let win:UIWindow = UIApplication.sharedApplication().delegate!.window!!
        win.rootViewController = vcTopMenu
        win.makeKeyAndVisible()

Но когда я добавляю другие viewController'ы (я делаю это прозрачным), я вижу кнопки TopView, но не могу нажать на них. Это код от TopView

override func viewDidLoad()
{
    super.viewDidLoad()
    print("loaded")
} 

@IBAction func btn(sender: AnyObject)
{
    print("do something")
}

Я вижу "загружено", но щелчок не работает, как я могу щелкнуть через просмотр? Спасибо!


person Alexander B    schedule 29.02.2016    source источник
comment
Привет Александр, у тебя наконец получилось это сделать? Если да, можете ли вы ответить на свою тему и объяснить свое решение? Это действительно помогло бы мне .. спасибо ;)   -  person Quentin Rth    schedule 18.02.2020
comment
Привет! К сожалению, в тот раз я изменил всю логику приложения, и, насколько я помню, я сделал какой-то ContainerView, который я изменил, нажав на кнопку меню. На данный момент я понимаю, что лучшая идея - создать базовый viewController и после этого расширить их. Надеюсь, вы решите свою проблему!   -  person Alexander B    schedule 24.02.2020


Ответы (1)


Если я правильно понял ваш вопрос, вы помещаете полупрозрачный/прозрачный UIView поверх другого UIView с помощью кнопки, которую хотите нажать?

Самый верхний UIView по умолчанию получает касания. Подробнее об этом здесь.

Это не очень стандартный/практичный способ делать что-то, но если вам это абсолютно необходимо, ознакомьтесь с этим ответом: https://stackoverflow.com /а/4010809/4396258

person Mark    schedule 29.02.2016
comment
Нет, я пытаюсь добавить UIViewController под другим UIViewController, как часть rootViewController, но спасибо за помощь! - person Alexander B; 01.03.2016