2014-11-06 20 views
0

我一直在嘗試幾天來解決我的代碼中的錯誤,但我無法弄清楚它的問題。加載新視圖時出現錯誤行爲

這是我第一次使用iOS應用程序,並在這裏發佈,所以對我來說很容易!

基本上,我有一個有'創建'按鈕和'加載'按鈕的應用程序。當按下「創建」按鈕時,它的位置將移動併爲用戶創建一個文本字段以輸入文本。當按下「加載」按鈕時,位置會再次移動,但會爲用戶創建一個表格視圖以選擇以前的文件名。

如果用戶按下'創建'按鈕,填充文本框,然後再次按'創建',應用程序會完美地繼續到新視圖。當用戶按下「加載」時,這是相同的,從表格視圖中選擇一個文件名並再次按下「加載」以延續到新視圖。他們都認同相同的觀點,並且一切都很完美。然而,如果用戶點擊'創建'按鈕(它激活按鈕並創建文本框),然後點擊離開,將視圖恢復爲原始佈局,然後決定加載以前的文件(再次動畫按鈕,但這次創建表視圖),新視圖加載非常奇怪!它不是從底部開始填充屏幕,而是在前一視圖的中間顯示,稍微向上移動以覆蓋舊視圖。

更奇怪的是,當發生此錯誤時,視圖的奇怪加載會持續到所有視圖。

我編程觸發塞格斯,使用

[self performSegueWithIdentifier:@"First" sender:sender]; 

[self performSegueWithIdentifier:@"Second" sender:sender]; 

而且我保證了塞格斯標記是否正確。

有沒有人有類似的經驗,他們已經設法糾正這個問題?我曾嘗試上傳圖片,以更好地說明問題,但我沒有足夠的積分:(

我已經上傳到錯誤的YouTube的視頻應該更清楚地顯示問題:

http://youtu.be/rB5qpF2ImSk

+0

Gregg,歡迎來到StackOverflow並祝你第一個iOS項目好運。愚蠢的問題,但你真的試圖通過,看看它的去向。我假設你知道如何在代碼中使用斷點? – logixologist 2014-11-06 21:20:58

+0

@logixologist感謝您的回覆。我已經完成了代碼,對我來說似乎沒問題。它延續到正確的觀點,但新觀點的動畫不是它應該如何。我已選擇封面垂直但它不這樣做:( – 2014-11-06 22:09:16

+0

根據您的解釋沒有明顯的理由發生這種情況。我想你可能需要在某個地方上傳這個項目,這樣人們才能真正看到你的代碼和控制器設置。 – rdelmar 2014-11-07 05:19:02

回答

0

你的視頻演示了我認爲你的問題是什麼當你從膳食計劃頁面開始,繼續看下一個控制器時,看起來你正在做一個模態演示,但是當你看到自定義的背景時箭頭,您將展示膳食計劃者視圖的另一個實例,而不是回到您來自的那個視圖(當您查看某個模型時,當前視圖應該滑下並關閉屏幕l查看)。如果您使用的是segues,那麼在倒退到前一個控制器時,只應使用unwind segue。另一種方法是使用dismissViewControllerAnimate:completion:來關閉代碼中的控制器。

+0

非常感謝@rdelmar的迴應,這不是我考慮過的!當我點擊「新的一週」時,問題也出現,決定反對並嘗試加載前一週。這會是同一個問題嗎?我正在考慮像你所建議的那樣實施展開順序,以便解決這個問題呢?謝謝! – 2014-11-08 22:12:02

+0

@GreggMarsdenEvans,我不確定展開是否會解決這個問題,但是您仍然應該使用展開。你永遠不應該用一個非放鬆的繼承來倒退,因爲你會建立越來越多的控制器(沒有一個會被釋放),最終你會因爲內存不足而崩潰。 – rdelmar 2014-11-08 23:29:27

相關問題