xcode在presentViewController之后更改标签的文本

Posted

技术标签:

【中文标题】xcode在presentViewController之后更改标签的文本【英文标题】:xcode change label's text after presentViewController 【发布时间】:2014-12-26 00:19:26 【问题描述】:

一如既往地依赖这个社区,这总是非常有帮助!

我真的不明白为什么我的代码不起作用,例如,我在 ViewControllerA 中玩游戏,显示了“运动”和更多内容,其中显示了带有 int 变量的标签,这些不给我问题,因为它们正确更改,当游戏完成时我想显示分数等等......

所以我创建了另一个 ViewController 来做这件事,例如 ViewControllerB,问题是 A 和 B Viewcontrollers 属于同一个类,所以我应该能够使用相同的变量、方法和所有东西(实际上我是这样做的已经并且工作正常)

我为一些标签创建了IBOutlet,这个属于B。我使用presentViewcontroller方法显示它,标签没有任何改变,代码如下:

NSString *moviments = [NSString stringWithFormat:@"%d",TotalMovements];
NSString *score = [NSString stringWithFormat:@"%d",TotalPoints];
NSString *levelToShow = [NSString stringWithFormat:@"%d",PlayingLevel];


[movementsToShowOnCompletedScreen setText:moviments];
[scoreToShowOnCompletedScreen setText:score];
[levelToShowOnCompletedScreen setText:levelToShow];

UIStoryboard *winOFLevelStoryboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
UIViewController *vc = [winOFLevelStoryboard instantiateViewControllerWithIdentifier:@"mainGame"];
[self presentViewController:vc animated:YES completion:^


    /*I have tried to add the same code from above setting the labels text
    labels here, same result... 

     */
];

标签的文字没有改变。

就是这样,我希望通过所有这些您可以了解这里发生了什么,IBOutlets 很好,我之前什至以编程方式更改了这些标签的框架,所以这不会是问题,网点很好。

如果您需要更多代码或任何内容,请告诉我!

感谢您的宝贵时间!

【问题讨论】:

【参考方案1】:

嗯,我找到了...以防万一有人遇到同样的问题。它解决了它,但不是我想要的方式,所以如果有人知道好的方法,请告诉我。

由于它们属于同一个类,我刚刚将下面显示的这一行复制/粘贴到我的 viewdidload 方法中,现在标签在必要时会发生变化,但我真的认为这是一个非常糟糕的解决方案。

再次感谢!

【讨论】:

以上是关于xcode在presentViewController之后更改标签的文本的主要内容,如果未能解决你的问题,请参考以下文章

Xcode - presentViewController NSInvalidArgumentException:无法识别的选择器发送到实例

PresentViewController 自定义大小并在 Xcode 5 和 iOS 7 中居中

如何在封面视图和主页中使用“presentViewController”

PresentViewController 在 iOS 中隐藏导航栏

SKScene 在 presentViewController 之后重复

PresentViewController:动画不显示在 iPad 上