我有一個應用程序,我有一個UIView內顯示的用戶縮放和移動的圖像視圖,我想傳遞這個完全相同的圖像到接下來被推入導航堆棧的UIViewController。做這件事的最好方法是什麼?我是否做過某種深度複製?傳遞一個UIView到下一個UIViewController被推入導航堆棧
0
A
回答
2
controller.imageView = imageView;
這裏沒有太多特別的地方。您需要做的唯一事情就是將視圖添加到視圖層次結構中。視圖只能有一個超級視圖,因此當您將其添加到新視圖層次結構中時,視圖會自動從舊視圖層次結構中移除。唯一棘手的是當你彈出備份堆棧時。你是否期望視圖在舊視圖控制器中仍然可用? (它不會)
一般來說,我傾向於推薦傳遞參數而不是實際視圖(即圖像及其轉換)。這消除了堆棧上或下的任何問題,但無論哪種方式都可以工作。
+0
是的,看到的就是這樣,當我彈出時,我仍然會像原來的UIImageView一樣。 –
0
將視圖引用到下一個控制器,並保留它。
你可能會遇到一些問題來處理它的界限或框架,但是如果你只是想要相同的話,那應該沒問題。
在新控制器中,獲取傳遞的視圖並將其添加爲主視圖的子視圖。最後不要忘記將它從超級視圖中移除,並在返回到前一個控制器之前釋放它。
相關問題
- 1. PushViewController導航到下一個堆棧
- 2. 我如何能表現出的TabBar推一個UIViewController到導航堆棧時
- 3. TTNavigator沒有推入導航堆棧
- 4. 推UITableViewController到導航堆棧失敗
- 5. 從UIView導航到UIViewController
- 6. 加載UIView到導航堆棧不傳遞字符串到新視圖
- 7. 推堆疊到另一個棧
- 8. 推UIPrintInteractionController到一個UINavigationController堆棧
- 9. 添加一個UIViewController到一個UIView
- 10. 爲什麼UIImagePickerController不能被推入導航堆棧?
- 11. 隱藏導航控制器堆棧中的一個導航欄
- 12. 創建可模態被呈現或推送到導航堆棧
- 13. 一般刪除導航堆棧內的自定義UIViewController類
- 14. 推一個UIViewController
- 15. MEAN堆棧:第一個對象被推入MongoDB模式的數組導致RangeError
- 16. Xcode如何將數據從一個UIviewController傳遞到另一個UIview子視圖
- 17. Tabbar不會顯示在導航堆棧中的某個UIViewController中
- 18. 將整數值從一個UIView傳遞到另一個UIview
- 19. 轉到導航堆棧中的前一個控制器(Swift)
- 20. goBack()到使用React導航的上一個/不同堆棧
- 21. 跳到導航堆棧中的一個點
- 22. 傳遞一個對象到UIViewController類
- 23. 從NSObject類傳遞一個值到UIViewController
- 24. 當下一個fn被壓入堆棧時打破gdb
- 25. 在導航堆棧上推視圖
- 26. Python:插入一個項目到堆棧
- 27. iPhone - 從孩子將數據傳遞到父在導航堆棧
- 28. 傳遞整數到另一個UIView
- 29. 多UIView在一個UIViewController
- 30. UIViewController上覆蓋一個UIView
你想傳遞實際視圖還是副本?如果後者爲什麼不傳遞所需的數據並讓下一個視圖控制器創建它自己的視圖? – Caleb
我只想通過相同的確切的事情。我只是在傳遞參考的過程中遇到了麻煩,因爲它會與原始圖像視圖有不同的超視圖。 @caleb –