我給UIViewController的內容視圖添加了一個自定義子視圖。從那個子視圖中,我怎樣才能得到對superview控制器的引用? 感謝從UIView子視圖獲取UINavController?
1
A
回答
5
正確的答案是:「你這樣做是錯誤™」 ;-)
你不應該需要引用從視圖視圖控制器,你當然不應該保留視圖控制器在你的觀點之一 - 或者你最終會有一個保留循環和泄漏記憶。
可可提供多個模式來解決這個問題:
使用委託:定義一個稱爲DemoViewDelegate協議和一個委託屬性添加到DemoView。然後讓你的視圖控制器實現這個協議。 重要提示:不應保留代表!您創建的任何代理財產應設置爲
assign
。請參閱Apple's Delegation docs或只是谷歌「委派模式」。使用響應鏈:呼叫的UIApplication的
sendAction:to:from:forEvent:
離開to:
設置爲nil
有你的行動消息自動發送了響應鏈到您的視圖控制器。見Apple's Responder docs和更詳細的Action Messages docs。使用通知:在此特定場景中較少見,但您也可以讓視圖控制器偵聽視圖發送的通知。
相關問題
- 1. 刷新UIView從子視圖
- 2. 獲取上一個UINavController
- 3. 從子視圖獲取CGContextRef
- 4. UINavController whiting another UINavController
- 5. 從uiview中獲取圖像
- 6. 從子視圖引用包含UIView?
- 7. 從UIView的獲取圖像,無父視圖
- 8. 點擊UIView上的手勢作爲子視圖獲取BAD ACCESS
- 9. 如何在父視圖中獲取子UIView的索引?
- 10. 如何獲取UIView的訪問子視圖?
- 11. BackBone:從jQuery元素獲取子視圖
- 12. 從TouchesMoved獲取子視圖參考
- 13. UIView子視圖不顯示
- 14. UIView子視圖不動畫
- 15. UIView子視圖的順序?
- 16. 動畫UIView isHidden子視圖
- 17. NSPredicate查詢UIView子視圖
- 18. UIView子視圖不出現
- 19. 對齊UIView的子視圖
- 20. UIView沒有sizeToFit子視圖
- 21. setNeedsLayout在UIView的子視圖
- 22. 從TiUIView獲取UIView
- 23. 獲取添加的UIView的可見矩形作爲圖片以上的UIView甲&的UIView℃的子視圖
- 24. 獲取從視圖
- 25. 在UIView中獲取不是超級視圖的視圖框架
- 26. 獲取回收視圖子視圖
- 27. 獲取子視圖包含視圖
- 28. 從UIPickerView與圖像獲取UIView
- 29. Swift從UIView的圖層獲取UIImage
- 30. 如何獲取子視圖
即使設計是固定的,從視圖到視圖控制器的映射也是很有趣的。我們都知道它在那裏,隱藏在一些私人API中,等待被濫用... – 2011-05-11 21:37:25