假设我在同一个ViewController(FirstController)
中有3个按钮,其中包含1-3个标签。所有三个按钮都打开了一个新的ViewController(SecondController)
。但是我怎么能在SecondController
中检查按下什么按钮才能到达这里,或者可能使用了什么segue?所以SecondController
可以执行不同的操作,具体取决于按下哪个按钮来打开它。我可能正在考虑转换和案例。
答案 0 :(得分:1)
有两种可能的方法。
一种方法是为每个按钮分配一个唯一的segue。在方法prepareForSegue:
上,您可以识别该按钮并将该信息提供给destinationViewController
:
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([segue.identifier isEqualToString:@"Button1Segue"]) {
[segue.destinationViewController setButton:1];
}
if ([segue.identifier isEqualToString:@"Button2Segue"]) {
...
}
另一种方法是创建一个property
,用于存储最后一个按下的按钮。
- (IBAction)buttonTap:(id)sender {
self.lastPressedButton = sender.tag;
}
并在prepareForSegue:
中你会这样做:
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([segue.identifier isEqualToString:@"SecondControllerSegue"]) {
[segue.destinationViewController setButton: self.lastPressedButton];
}
}
希望有所帮助
答案 1 :(得分:0)
if (button.tag == 0) {
NSLog(@"Button one.");
} else if (button.tag == 1) {
NSLog(@"Button two.");
}
你会在你的三个按钮动作之前发生的方法中加入这样的东西。这可能是viewWillDisappear,prepareForSegue等。
祝你好运!