我需要在新行中添加操作,就像:alertActionsWithNewLines
我正在尝试以下代码:
let uncheckInAlert = UIAlertController(title: "Are you sure you want to uncheck-in?", message: "", preferredStyle: .alert)
uncheckInAlert.setTitleImage(UIImage(named: "fail_Icon"))
uncheckInAlert.addAction(UIAlertAction(title: "Yes", style: .default, handler: { (action) -> Void in
self.userUncheckIn()
}))
uncheckInAlert.addAction(UIAlertAction(title: "Cancel", style: .cancel, handler: nil))
self.present(uncheckInAlert, animated: true, completion: nil)
但是结果是,我有类似alertActionsInOneLine的内容。 如果动作标题很大,则动作会自动在新行上继续。对于小动作标题,将动作分组在一行中。有没有办法做到这一点?
答案 0 :(得分:0)
尝试将样式表.alert更改为.actionSheet
类似于此代码
let uncheckInAlert = UIAlertController(title: "Are you sure you want to uncheck-in?", message: "", preferredStyle: .actionSheet)
答案 1 :(得分:0)
更改这些行
uncheckInAlert.addAction(UIAlertAction(title: "Cancel", style: .cancel, handler: nil))
收件人
uncheckInAlert.addAction(UIAlertAction(title: "Cancel", style: .default, handler: nil))
let uncheckInAlert = UIAlertController(title: "Are you sure you want to uncheck-in?", message: "", preferredStyle: .alert)
收件人
let uncheckInAlert = UIAlertController(title: "Are you sure you want to uncheck-in?", message: "", preferredStyle: .actionSheet)
这将显示cancel
选项与其他选项分组。
答案 2 :(得分:0)
您无法设置任何标志来更改Apple布置其警报按钮的方式。但是,如果样式UIAlertController
的{{1}}无法将按钮文本的整个字符串正确地放置在水平布局中,则会自动将其按钮布局更改为垂直。因此,如果按钮的文本足够长,它将更改布局。
尽管这是一个解决您问题的方法,但我建议您不要在按钮的文本中添加任意空格或不必要的长字符串,这样Apple才能在生产应用程序中垂直布置按钮。它滥用了标准组件,一旦字符串本地化为其他语言,就很容易开始崩溃。为了自然地实现所需的行为,我建议创建自己的自定义视图以垂直显示按钮。