2016-07-27 4 views
1

Я работаю в Xcode и swift, я создал представление, действующее как меню, которое переключается при нажатии, когда меню выходит, я все еще могу нажать кнопку тестирования под ним. Я не хочу, чтобы это произошло. Я хочу, чтобы все, что было за точкой зрения, отключено, придавая приоритет виду меню. (Просмотр изображения ниже)Предотвратить просмотр щелчка в swift

screenshot from the sample app

  • Имейте в виду, что я не считая одной кнопки, если это было так, я бы отключил, что специальная кнопка. Эта страница будет прокруткой, и она будет динамичной.

это код, который я использую:

@IBAction func MenuButton(sender: UIButton) { 
    if self.MenuView.frame.origin.x == -180 { 
     UIView.animateWithDuration(0.5, animations:{ 
      self.MenuView.frame = CGRectMake(self.MenuView.frame.origin.x + 180, self.MenuView.frame.origin.y, self.MenuView.frame.size.width, self.MenuView.frame.size.height) 
     }) 

    } else { 
     UIView.animateWithDuration(0.5, animations:{ 
      self.MenuView.frame = CGRectMake(self.MenuView.frame.origin.x - 180, self.MenuView.frame.origin.y, self.MenuView.frame.size.width, self.MenuView.frame.size.height) 
     }) 
    } 
} 

вид скрыт 180 пикселей на левой стороне, когда кнопка меню щелкнул вид будет анимировать 180 пикселей вправо, который приносит его на фронт. Функция проверяет, открыт ли вид, чтобы он мог оживить его на 180 пикселей, чтобы скрыть его.

Единственное, что мне нужно - отключить щелчок по виду.

ответ

0

Тот факт, что кнопка по-прежнему видима и доступна, означает, что она должна находиться перед меню. Если вы измените порядок вещей, чтобы меню находилось перед кнопкой, вы должны получить результат, который вы ищете.

+0

Спасибо, что решили. Я новый Я думал, что приведение представления (Div) перед другим элементом отключит его. Я не знаю, почему Apple должна была сделать это сложным. Спасибо в любом случае. –

+1

@ YousifAl-Raheem Там будет случай, прикосновение к кнопке, даже если оно находится под представлением. Этот случай, когда представление «User Interaction Enabled» равно «false» – Ismail

+0

@Ismail: Хорошая точка. – Westside

1

версия Swift 3, которая отлично поработала для меня, остановив клик (благодаря предыдущему комментарию от @Ismail).

myAddedSubView.isUserInteractionEnabled = true 

Это «просто, одна линия» ответ и работает как индекс г (предполагая, что вы хотели индекс г быть «абсолютный верх».

Смежные вопросы