ios - 用dismiss(模态)视图跟踪视图

时间:2012-10-30 22:42:48

标签: objective-c ios dismiss uistoryboardsegue multiple-views

我正在尝试将一个数字(UILabel)发送到另一个UIViewController。

现在我可以采用一种方式,但是当我返回时,我还需要将结果带回初始控制器。

最重要的是,我试图用4个UILabel来做这个,所以我需要区分它们。

现在要进入第二个ViewController我想使用这样的segue:

    if ([segue.identifier isEqualToString:@"ChangeNumberSegue"])
{
    NSLog(@"Changing the Number on NumberPadViewController");

    NumberPadViewController *numberPad = segue.destinationViewController;

    if(_BtnNumber01)
    {
        numberPad.numberLine.text = _LblNumber01.text;
    }
    if(_BtnNumber02)
    {
        numberPad.numberLine.text = _LblNumber02.text;
    }
    if(_BtnNumber03)
    {
        numberPad.numberLine.text = _LblNumber03.text;
    }
    if(_BtnNumber04)
    {
        numberPad.numberLine.text = _LblNumber04.text;
    }
}

问题是:完成第二个视图后,解除第二个视图的正确方法是什么。 一旦我进入第二个视图,它将只更改所选标签的数量。

干杯。

1 个答案:

答案 0 :(得分:0)

假设这是一个模态segue ...

代替实际返回值,只需在要设置的第一个视图控制器中创建一个属性,例如:

@property (nonatomic, assign) NSInteger theValue;

在第二个视图控制器中,您可以获得第一个视图控制器的句柄,例如:

FirstViewController *vc = (FirstViewController *) [self presentingViewController];
vc.theValue = 5;

至于返回原始视图控制器,您可以在第二个视图控制器中添加它:

[self dismissViewControllerAnimated:YES completion:nil]; // iOS 6
// or
[self dismissModalViewControllerAnimated:YES]; // iOS 5 or earlier