2012-08-02 46 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

相關問題