Как отключить сенсорный внешний вид отклонения экрана с помощью MDCAlertController Material Design - swift - PullRequest
0 голосов
/ 09 ноября 2018

Я - новое программирование на iOS, и теперь увлекаюсь использованием MaterialComponents, предоставляемым Google.Теперь я столкнулся с одной проблемой в компоненте с именем Dialog.

Когда представление всплывающее на экране, когда я касаюсь за пределами этого всплывающего представления, а затем это представление было отклонено.Я не хочу, чтобы это случилось в моем приложении.

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

Действительно, что вы помогаете.

Ответы [ 2 ]

0 голосов
/ 09 марта 2019
0 голосов
/ 12 ноября 2018

MDCAlertController наследуется от UIViewController.

Итак, чтобы ограничить пользователя кликом за пределами MDCAlertController, вам необходимо получить доступ к его свойству с именем view, а затем superview?.subviews[0].isUserInteractionEnabled = false

Я завершил один пример, используя MDCAlertController

let alert = MDCAlertController(title: title, message: message)

    alert.buttonTitleColor = UIColor(red:0.03, green:0.62, blue:0.09, alpha:1.0)

    //MDCAlertControllerThemer.applyScheme(alertScheme, to: alert)
    let okayAction = MDCAlertAction(title: "Okay") { (action) in

        print("User click okay")

    }
    let cancelAction = MDCAlertAction(title: "Cancel", handler: nil)
    alert.addAction(okayAction)
    alert.addAction(cancelAction)

    self.present(alert, animated: true, completion: {

        // When the Dialog view has pop up on screen then just put this line of code when Dialog view has completed pop up.
        alert.view.superview?.subviews[0].isUserInteractionEnabled = false
    })
...