gpt4 book ai didi

ios - 是否可以在 prepareForSegue 中使用 if/else?

转载 作者:行者123 更新时间:2023-11-29 02:05:21 24 4
gpt4 key购买 nike

我正在尝试用一些信息(txtTitulo、txt1、img1)填充 View Controller ,如下所示:

class EstruturaAnatTroncoViewController: UIViewController {

@IBOutlet weak var casca: UIButton!
@IBOutlet weak var cambio: UIButton!
@IBOutlet weak var aneis: UIButton!
@IBOutlet weak var cerne: UIButton!
@IBOutlet weak var raios: UIButton!
@IBOutlet weak var medula: UIButton!

var nameButton: String!

override func viewDidLoad() {
super.viewDidLoad()

let color = UIColor(red: 237, green: 236, blue: 238, alpha: 1)

casca.layer.cornerRadius = 25
casca.layer.borderWidth = 1
casca.layer.borderColor = color.CGColor
casca.setTitle("Casca", forState: UIControlState.Normal)
casca.titleLabel!.textAlignment = .Center
casca.titleLabel!.textColor = color

cambio.layer.cornerRadius = 25
cambio.layer.borderWidth = 1
cambio.layer.borderColor = color.CGColor
cambio.setTitle("Câmbio", forState: UIControlState.Normal)
cambio.titleLabel!.textAlignment = .Center
cambio.titleLabel!.textColor = color

aneis.layer.cornerRadius = 25
aneis.layer.borderWidth = 1
aneis.layer.borderColor = color.CGColor
aneis.setTitle("Anéis", forState: UIControlState.Normal)
aneis.titleLabel!.textAlignment = .Center
aneis.titleLabel!.textColor = color

cerne.layer.cornerRadius = 25
cerne.layer.borderWidth = 1
cerne.layer.borderColor = color.CGColor
cerne.setTitle("Cerne e alburno", forState: UIControlState.Normal)
cerne.titleLabel!.textAlignment = .Center
cerne.titleLabel!.textColor = color

raios.layer.cornerRadius = 25
raios.layer.borderWidth = 1
raios.layer.borderColor = color.CGColor
raios.setTitle("Raios", forState: UIControlState.Normal)
raios.titleLabel!.textAlignment = .Center
raios.titleLabel!.textColor = color

medula.layer.cornerRadius = 25
medula.layer.borderWidth = 1
medula.layer.borderColor = color.CGColor
medula.setTitle("Medula", forState: UIControlState.Normal)
medula.titleLabel!.textAlignment = .Center
medula.titleLabel!.textColor = color

}


@IBAction func sliderView(sender: AnyObject) {

var storyBoard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)

var vc: UINavigationController = storyBoard.instantiateViewControllerWithIdentifier("SlideViewController") as! UINavigationController

self.showViewController(vc, sender: self)

}

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {

if nameButton == "Casca" {

var dtVC = segue.destinationViewController as! DetailViewController
dtVC.txtTitulo = "Casca"
dtVC.img1 = "casca.jpg"
dtVC.txt1 = "A casca é constituída interiormente pelo floema, conjunto de tecidos vivos especializados para a condução da seiva elaborada, e exteriormente pelo córtex, periderme e ritidoma, tecidos que revestem o tronco."

} else if nameButton == "Câmbio" {

var dtVC = segue.destinationViewController as! DetailViewController
dtVC.txtTitulo = "Câmbio"
dtVC.img1 = "cambio.jpg"
dtVC.txt1 = "O câmbio é um tecido meristemático, isto é, apto a gerar novos elementos celulares, constituído por uma camada de células situada entre o xilema e o floema, só sendo visível ao microscópio. Permanece ativo durante toda a vida do vegetal e é responsável pela formação dos tecidos secundários que constituem o xilema e a casca. A atividade cambiel é sensivelmente influenciada pelas condições climáticas."

}


}

@IBAction func casca(sender: AnyObject) {

nameButton = casca.titleLabel!.text

}
@IBAction func cambio(sender: AnyObject) {

nameButton = cambio.titleLabel!.text

}
@IBAction func aneis(sender: AnyObject) {

nameButton = aneis.titleLabel!.text

}
@IBAction func cerne(sender: AnyObject) {

nameButton = cerne.titleLabel!.text

}
@IBAction func raios(sender: AnyObject) {

nameButton = raios.titleLabel!.text

}
@IBAction func medula(sender: AnyObject) {

nameButton = medula.titleLabel!.text
}

override func viewWillAppear(animated: Bool) {
nameButton = nil

}

}

IBAction func casca 正在工作,但其他的没有。我不知道为什么会发生这种情况。当我使用其他 IBAction 时,nameButton 更改其值,但在 prepareForSegue 函数中没有任何反应!我究竟做错了什么?感谢您的帮助。

P.S.:如果你们需要更多信息,请告诉我!

最佳答案

您不需要在这里玩弄按钮的名称。而是为同一个目标 View Controller 的每个按钮创建一个 segue。

对于您的问题,答案是“是的,我们可以在 prepareForSegue 方法中使用 if/else block 。

如下更改方法 prepareForSegue。

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?)
{
if (segue.identifier == "cascaButtonSegue")
{
var dtVC = segue.destinationViewController as! DetailViewController
dtVC.txtTitulo = "Casca"
dtVC.img1 = "casca.jpg"
dtVC.txt1 = "A casca é constituída interiormente pelo floema, conjunto de tecidos vivos especializados para a condução da seiva elaborada, e exteriormente pelo córtex, periderme e ritidoma, tecidos que revestem o tronco."
}
else if (segue.identifier == "cambioButtonSegue")
{
var dtVC = segue.destinationViewController as! DetailViewController
dtVC.txtTitulo = "cambio"
dtVC.img1 = "cambio.jpg"
dtVC.txt1 = "A cambio é constituída interiormente pelo floema, conjunto de tecidos vivos especializados para a condução da seiva elaborada, e exteriormente pelo córtex, periderme e ritidoma, tecidos que revestem o tronco."
}
else if (segue.identifier == "aneisButtonSegue")
{
var dtVC = segue.destinationViewController as! DetailViewController
dtVC.txtTitulo = "aneis"
dtVC.img1 = "aneis.jpg"
dtVC.txt1 = "A cerne é constituída interiormente pelo floema, conjunto de tecidos vivos especializados para a condução da seiva elaborada, e exteriormente pelo córtex, periderme e ritidoma, tecidos que revestem o tronco."
}
else if (segue.identifier == "cerneButtonSegue")
{
var dtVC = segue.destinationViewController as! DetailViewController
dtVC.txtTitulo = "cerne"
dtVC.img1 = "cerne.jpg"
dtVC.txt1 = "A cerne é constituída interiormente pelo floema, conjunto de tecidos vivos especializados para a condução da seiva elaborada, e exteriormente pelo córtex, periderme e ritidoma, tecidos que revestem o tronco."
}
else if (segue.identifier == "raiosButtonSegue")
{
var dtVC = segue.destinationViewController as! DetailViewController
dtVC.txtTitulo = "raios"
dtVC.img1 = "raios.jpg"
dtVC.txt1 = "A raios é constituída interiormente pelo floema, conjunto de tecidos vivos especializados para a condução da seiva elaborada, e exteriormente pelo córtex, periderme e ritidoma, tecidos que revestem o tronco."
}
else if (segue.identifier == "medulaButtonSegue")
{
var dtVC = segue.destinationViewController as! DetailViewController
dtVC.txtTitulo = "medula"
dtVC.img1 = "medula.jpg"
dtVC.txt1 = "A medula é constituída interiormente pelo floema, conjunto de tecidos vivos especializados para a condução da seiva elaborada, e exteriormente pelo córtex, periderme e ritidoma, tecidos que revestem o tronco."
}
}

希望对您有所帮助。 :)

关于ios - 是否可以在 prepareForSegue 中使用 if/else?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29837650/

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