при использовании текстового поля
alert.showEdit("title", subTitle: "В этом представлении предупреждения отображается текстовое поле")
если текстовое поле пусто, я не хочу закрывать диалог и показывать пользователю сообщение «пожалуйста, введите текст»,
как предотвратить закрытие при нажатии кнопки диалога?
я изменил исходный код, просто зафиксировал 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")
Самый полезный комментарий
Привет, я столкнулся с той же проблемой, и я решил ее по-другому.
Вы можете просто установить внешний вид «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")