gpt4 book ai didi

ios - 如何将标题从 UIAlertAction 发送到另一个 UIViewController 作为该 VC 的标题

转载 作者:行者123 更新时间:2023-11-28 13:46:00 25 4
gpt4 key购买 nike

我有一个带有 4 个选项的 UIAlertController。当我选择其中任何一个选项时,我想将该选项的名称作为该 ViewController 的标题发送到下一个 ViewController。

这是我的代码:

func showOptions(){

let actionSheet = UIAlertController(
title: "Select a type of inspection",
message: nil,
preferredStyle: .actionSheet
)
let cancel = UIAlertAction(
title: "Cancel",
style: .cancel,
handler: nil
)

let copyOfVehicleShortCheck = UIAlertAction(
title: "Copy of Vehicle Short Check",
style: .default
) { action in
self.performSegue(
withIdentifier: Constants.checklistInspectionIdentifier,
sender: self
)
}

let fullDailyDefect = UIAlertAction(
title: "Full Daily Defect and Damage Check",
style: .default
) { action in
self.performSegue(
withIdentifier: Constants.checklistInspectionIdentifier,
sender: self
)
}

let licenceCheck = UIAlertAction(
title: "Licence Check Y/N",
style: .default
) { action in
self.performSegue(
withIdentifier: Constants.checklistInspectionIdentifier,
sender: self
)
}

let vehicleShortCheck = UIAlertAction(
title: "Vehicle Short Check",
style: .default
) { action in
self.performSegue(
withIdentifier: Constants.checklistInspectionIdentifier,
sender: self
)
}

actionSheet.addAction(copyOfVehicleShortCheck)
actionSheet.addAction(fullDailyDefect)
actionSheet.addAction(licenceCheck)
actionSheet.addAction(vehicleShortCheck)
actionSheet.addAction(cancel)

self.present(actionSheet, animated: true, completion: nil)
}

可以将参数 title 从 UIAlertAction 发送到下一个 ViewController 吗?

最佳答案

正如@Sh_Khan 所指出的,要获得您需要action.title 的标题。

我的回答是一个附加组件,因为从您的问题和代码来看,您并不清楚您是否知道如何执行此操作。

要真正将标题从一个 VC 发送到另一个 VC,您需要覆盖 prepareForSegue 方法。

创建一个全局变量:

var selectedTitle = ""

在 Action 处理程序集中:

selectedTitle = action.title

在目标 View Controller 中创建一个新属性:

var title = ""

并覆盖 prepareForSegue:

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "insert your identifier here" {
if let vc = segue.destination as? YourDestinationViewController {
vc.title = selectedTitle
print("Title set in destination VC")
}
}
}

关于ios - 如何将标题从 UIAlertAction 发送到另一个 UIViewController 作为该 VC 的标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55374325/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com