TapGesture не работает под tabBar - PullRequest
0 голосов
/ 24 мая 2018

У меня есть «классическое приложение» с 3 ViewController и tabBar, которые я использую для изменения ViewController.

В моем первом ViewController у меня есть кнопка, которая отображает UIView на всех экранах, поэтому я скрываюtabBar с этим setTabBarVisible func:

extension UIViewController
{

func setTabBarVisible(visible: Bool, animated: Bool)
{
    //* This cannot be called before viewDidLayoutSubviews(), because the frame is not set before this time

    // bail if the current state matches the desired state
    if (isTabBarVisible == visible) { return }

    // get a frame calculation ready
    let frame = self.tabBarController?.tabBar.frame
    let height = frame?.size.height
    let offsetY = (visible ? -height! : height)

    // zero duration means no animation
    let duration: TimeInterval = (animated ? 0.3 : 0.0)

    //  animate the tabBar
    if frame != nil
    {
        UIView.animate(withDuration: duration)
        {
            self.tabBarController?.tabBar.frame = frame!.offsetBy(dx: 0, dy: offsetY!)
            return
        }
    }
}

var isTabBarVisible: Bool
{
    return (self.tabBarController?.tabBar.frame.origin.y ?? 0) < self.view.frame.maxY
}
}

Работает, tabBar скрыт, и я вижу все свои UIVIew.Проблема в том, что у меня UILabel внизу UIView (там, где я обычно отображаю tabBar), и я не могу использовать TapGesture на своей UILabel, ничего не происходит.(если я отображаю метку где-то еще, UITapGesture работает хорошо.)

Я попытался установить zPosition моего tabBar на 0 и zPosition моего UIView на 1, но это тоже не работает.

Как я могу получить ярлык кликабельным в нижней части моего обзора?

Ответы [ 2 ]

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

Проверьте UILabel.isUserInterration = enable

Убедитесь, что при скрытии панели вкладок контроллер перкулярного представления Под свойством нижней панели отменяется выбор. См. В настоящее время.

Вы можете попробовать программно также как

ViewController.edgesForExtendedLayout = UIRectEdge.top
0 голосов
/ 24 мая 2018

убедитесь, что верно

label.isUserInteractionEnabled = true

Пожалуйста, используйте эту ссылку, если она вам поможет.

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