我有一個包含三個組件的選取器。如果我同時旋轉一個組件,UIPicker會崩潰應用程序
前兩個組件依賴於最後一個組件。
所以它可能是:
- | 5 | M(線代表不同的列) 或 1「| 5」| FT
如果我正在移動第二列或第一列,並在他們停止旋轉之前將第三列從FT移動到M或反之亦然,然後在移動時它會使應用程序崩潰。
我知道這是因爲在pickerView:didSelectRow:inComponent:
UIPicker的委託方法我正在執行基於第三列,即M或FT的最終值的計算。
SO,簡而言之
它是在第三列的第一列之前執行pickerView:didSelectRow:inComponent:
即使用戶觸摸它們以相反的順序。
有什麼辦法可以解決這個問題嗎?
可能是這樣,如果一個組件仍在旋轉,用戶無法移動另一個組件?
任何幫助,高度讚賞
感謝
湯姆
這似乎是這種情況...因此是否可以在設置的時間間隔中途暫停,然後繼續操作? – 2010-01-07 11:20:26
如果我明白你在做什麼,最簡單的事情就是測試所有的列是否有選定的值,如果他們這樣做,只進行計算。由於所有3列調用相同的didSelectRow:方法,每個列都可以觸發計算,因爲它是最後一個停止移動的組件。你只需要在代碼中進行足夠的條件檢查。 – TechZen 2010-01-07 13:25:08
這是關鍵......使用斷點後,我意識到我沒有足夠的條件處理......感謝您的幫助:) – 2010-01-09 19:20:28