2012-08-02 39 views
0

我正在为iPad制作记分板应用程序。该应用程序包含一个与五名球员和十二轮网格的图形。我已经为每个输入的分数创建了UITextField。每个文本字段对象都可以很容易地总结出来,每个玩家都会有总分。球员的排名基于他们的得分。我已经解释了我的应用程序是完整的。然而,当试图让它更先进时,我遇到了问题。假设我想输入玩家1的第一轮比分。当我点击网格的那个框时,我想要出现一个UIPopover。 popover带来了一个特殊的计算器,用来确定分数。我希望将计算器的结果传回到我最初点击的框中。当按下“计算分数”按钮时,我无法解除UIPopover。如果我使用dismiss popover方法,我可以为计算器的结果设置特定的scorebox,但是我需要有一个dismiss popover方法来知道应该更改哪个方块。基本上我有一个包含60个盒子的网格,每个盒子都延伸到一个计算器视图控制器。我如何让计算器将数据传回到它来自的盒子?有什么想法吗?谢谢:)当有多个传出段时,在视图控制器之间传输数据

回答

0

在显示UIPopoverViewController之前,您应该设置一个box属性引用当前框。然后从UIPopoverViewController开始,您可以在解除弹出窗口之前设置box的文本。

+0

我假设你指的是这样的: - (空)prepareForSegue:(UIStoryboardSegue *)赛格瑞发件人:(ID)发送 { 如果([SEGUE符] isEqualToString:@ “Player1Round1” ]) { self.box = self.player1Round1Score.text; } if([[segue identifier] isEqualToString:@“Player1Round2”]) { self.box = self.player1Round1Score.text; } .... //继续为所有60个箱选项 然后当我在计算器视图控制器,我可以这样说 ViewController1 * VC = [[ViewController1的alloc]初始化] self.resultOfCalculator.text = vc.box.text – iOSAppGuy 2012-08-02 18:25:34

+0

对不起,我尝试输入代码格式,但没有格式化。如果我正确理解你在prepareForSegue方法中说的话,我可以将“box”属性设置为我希望使用if语句更改的特定框。然后,当解散popover时,我可以将box属性设置为计算器的结果。我想在上面的代码中,我应该把最后一条语句翻到vc.box.text = self.resultsOfCalculator.text;它是否正确? – iOSAppGuy 2012-08-02 18:39:11

+0

这实际上就是我的意思,尽管应该有比if语句更好的方法。如果以编程方式触发segue,则可以简单地将实例变量设置为单击的“box”,然后在“prepareForSegue”方法中将“box”属性设置为该属性。 – matt3141 2012-08-02 20:49:55

相关问题