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