连续的 UIAlertControllers - IOS - Swift
Consecutive UIAlertControllers - IOS - Swift
我想展示一个连续的 Alert Controllers,从 Swift 中第一个 Alert Controller 的动作开始。
所以场景是这样的:
1) Alert_A 有 2 个选项:
a) 选择此选项后显示 Alert_B 也关闭 Alert_A
b) 选择此选项后显示 Alert_C 也关闭 Alert_A
2) Alert_B/Alert_C 将分别有 2 个选项:
a) 操作 Alert_B/ 操作 Alert_C
b) 取消取消 Alert_B/Alert_C
我在 Apple 文档中读到不建议在警报中显示警报。
我还在警报的层次结构中添加了一个 link:
试试这个:
let alertController = UIAlertController(title: "Choose", message: "Choose one of two alert options", preferredStyle: UIAlertControllerStyle.Alert)
let Alert1 = UIAlertAction(title: "Alert1", style: UIAlertActionStyle.Default) { (result : UIAlertAction) -> Void in
let alertController = UIAlertController(title: "Alert1", message: "You chose Alert1", preferredStyle: UIAlertControllerStyle.Alert)
let Action1 = UIAlertAction(title: "Action1", style: UIAlertActionStyle.Default) { (result : UIAlertAction) -> Void in
/////////YOUR Action1////////
}
let CancelAction = UIAlertAction(title: "Cancel", style: UIAlertActionStyle.Cancel) { (result : UIAlertAction) -> Void in
}
alertController.addAction(Action1)
alertController.addAction(CancelAction)
self.presentViewController(alertController, animated: true, completion: nil)
}
let Alert2 = UIAlertAction(title: "Alert2", style: UIAlertActionStyle.Default) { (result : UIAlertAction) -> Void in
let alertController = UIAlertController(title: "Alert2", message: "You chose Alert2", preferredStyle: UIAlertControllerStyle.Alert)
let Action2 = UIAlertAction(title: "Action2", style: UIAlertActionStyle.Default) { (result : UIAlertAction) -> Void in
/////////YOUR Action2////////
}
let CancelAction = UIAlertAction(title: "Cancel", style: UIAlertActionStyle.Cancel) { (result : UIAlertAction) -> Void in
}
alertController.addAction(Action2)
alertController.addAction(CancelAction)
self.presentViewController(alertController, animated: true, completion: nil)
}
alertController.addAction(Alert1)
alertController.addAction(Alert2)
self.presentViewController(alertController, animated: true, completion: nil)
更好的方法:
let alertController = UIAlertController(title: "Choose", message: "Action1 or Action2?", preferredStyle: UIAlertControllerStyle.Alert)
let Action1 = UIAlertAction(title: "Action1", style: UIAlertActionStyle.Default) { (result : UIAlertAction) -> Void in
///////Action1///////
}
let Action2 = UIAlertAction(title: "Action2", style: UIAlertActionStyle.Default) { (result : UIAlertAction) -> Void in
//////Action2///////
}
let CancelAction = UIAlertAction(title: "Cancel", style: UIAlertActionStyle.Cancel) { (result : UIAlertAction) -> Void in
}
alertController.addAction(Action1)
alertController.addAction(Action2)
alertController.addAction(CancelAction)
self.presentViewController(alertController, animated: true, completion: nil)
我想展示一个连续的 Alert Controllers,从 Swift 中第一个 Alert Controller 的动作开始。
所以场景是这样的:
1) Alert_A 有 2 个选项:
a) 选择此选项后显示 Alert_B 也关闭 Alert_A
b) 选择此选项后显示 Alert_C 也关闭 Alert_A
2) Alert_B/Alert_C 将分别有 2 个选项:
a) 操作 Alert_B/ 操作 Alert_C
b) 取消取消 Alert_B/Alert_C
我在 Apple 文档中读到不建议在警报中显示警报。
我还在警报的层次结构中添加了一个 link:
试试这个:
let alertController = UIAlertController(title: "Choose", message: "Choose one of two alert options", preferredStyle: UIAlertControllerStyle.Alert)
let Alert1 = UIAlertAction(title: "Alert1", style: UIAlertActionStyle.Default) { (result : UIAlertAction) -> Void in
let alertController = UIAlertController(title: "Alert1", message: "You chose Alert1", preferredStyle: UIAlertControllerStyle.Alert)
let Action1 = UIAlertAction(title: "Action1", style: UIAlertActionStyle.Default) { (result : UIAlertAction) -> Void in
/////////YOUR Action1////////
}
let CancelAction = UIAlertAction(title: "Cancel", style: UIAlertActionStyle.Cancel) { (result : UIAlertAction) -> Void in
}
alertController.addAction(Action1)
alertController.addAction(CancelAction)
self.presentViewController(alertController, animated: true, completion: nil)
}
let Alert2 = UIAlertAction(title: "Alert2", style: UIAlertActionStyle.Default) { (result : UIAlertAction) -> Void in
let alertController = UIAlertController(title: "Alert2", message: "You chose Alert2", preferredStyle: UIAlertControllerStyle.Alert)
let Action2 = UIAlertAction(title: "Action2", style: UIAlertActionStyle.Default) { (result : UIAlertAction) -> Void in
/////////YOUR Action2////////
}
let CancelAction = UIAlertAction(title: "Cancel", style: UIAlertActionStyle.Cancel) { (result : UIAlertAction) -> Void in
}
alertController.addAction(Action2)
alertController.addAction(CancelAction)
self.presentViewController(alertController, animated: true, completion: nil)
}
alertController.addAction(Alert1)
alertController.addAction(Alert2)
self.presentViewController(alertController, animated: true, completion: nil)
更好的方法:
let alertController = UIAlertController(title: "Choose", message: "Action1 or Action2?", preferredStyle: UIAlertControllerStyle.Alert)
let Action1 = UIAlertAction(title: "Action1", style: UIAlertActionStyle.Default) { (result : UIAlertAction) -> Void in
///////Action1///////
}
let Action2 = UIAlertAction(title: "Action2", style: UIAlertActionStyle.Default) { (result : UIAlertAction) -> Void in
//////Action2///////
}
let CancelAction = UIAlertAction(title: "Cancel", style: UIAlertActionStyle.Cancel) { (result : UIAlertAction) -> Void in
}
alertController.addAction(Action1)
alertController.addAction(Action2)
alertController.addAction(CancelAction)
self.presentViewController(alertController, animated: true, completion: nil)