Sclalertview-swift: Предотвратить закрытие при нажатии кнопки

Созданный на 16 дек. 2016  ·  4Комментарии  ·  Источник: vikmeup/SCLAlertView-Swift

при использовании текстового поля
alert.showEdit("title", subTitle: "В этом представлении предупреждения отображается текстовое поле")

если текстовое поле пусто, я не хочу закрывать диалог и показывать пользователю сообщение «пожалуйста, введите текст»,
как предотвратить закрытие при нажатии кнопки диалога?

Самый полезный комментарий

Привет, я столкнулся с той же проблемой, и я решил ее по-другому.

Вы можете просто установить внешний вид «shouldAutoDismiss», а затем вручную отклонить предупреждение.
Может быть, это не будет полезно для вас, но это может быть для других;)

let appearance = SCLAlertView.SCLAppearance( shouldAutoDismiss: false ) let alert = SCLAlertView(appearance: appearance) alert.addButton("Keep open") { // Your code here } alert.addButton("Close") { alert.hideView() } alert.showEdit("Title", subTitle: "subTitle")

Все 4 Комментарий

я изменил исходный код, просто зафиксировал sideview() в методе buttonTapped(_) и вручную закрыл диалог, вызвав функцию hideview или close

func buttonTapped(_ btn:SCLButton) {
        if btn.actionType == SCLActionType.closure {
            btn.action()
        } else if btn.actionType == SCLActionType.selector {
            let ctrl = UIControl()
            ctrl.sendAction(btn.selector, to:btn.target, for:nil)
        } else {
            print("Unknow action type for button")
        }

        if(self.view.alpha != 0.0 && appearance.shouldAutoDismiss)
        {
        //    hideView()
        }

    }

Привет, я столкнулся с той же проблемой, и я решил ее по-другому.

Вы можете просто установить внешний вид «shouldAutoDismiss», а затем вручную отклонить предупреждение.
Может быть, это не будет полезно для вас, но это может быть для других;)

let appearance = SCLAlertView.SCLAppearance( shouldAutoDismiss: false ) let alert = SCLAlertView(appearance: appearance) alert.addButton("Keep open") { // Your code here } alert.addButton("Close") { alert.hideView() } alert.showEdit("Title", subTitle: "subTitle")

@YoannLth да, это помогло мне! Спасибо, что поделились 😊

Что такое «эквивалент» Objective C, который выполняет это?

let appearance = SCLAlertView.SCLAppearance(
            shouldAutoDismiss: false
)
let alert = SCLAlertView(appearance: appearance)
alert.addButton("Keep open") {
      // Your code here
}
alert.addButton("Close") {
    alert.hideView()
}
alert.showEdit("Title", subTitle: "subTitle")
Была ли эта страница полезной?
0 / 5 - 0 рейтинги

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

p0tvin29 picture p0tvin29  ·  3Комментарии

ossmalpha picture ossmalpha  ·  16Комментарии

ewan34500 picture ewan34500  ·  3Комментарии

jlaws picture jlaws  ·  19Комментарии

rayhk6 picture rayhk6  ·  29Комментарии