我正在開發iOS應用程序。從容器視圖中的另一個視圖控制器加載視圖控制器
我想有一個視圖控制器(稱爲子),出現在我的主視圖控制器(稱爲父)的另一個視圖內。 我設法通過添加一個容器視圖來成功嵌入子視圖控制器。
在我的子視圖控制器中,我有一個打開另一個(第三個)視圖控制器的按鈕。
我希望此屏幕在視圖容器的範圍內打開 - 但它會在全屏幕上打開。
有沒有一種方法可以定義視圖容器的方式,它的所有內部會在其邊界內顯示?
我正在開發iOS應用程序。從容器視圖中的另一個視圖控制器加載視圖控制器
我想有一個視圖控制器(稱爲子),出現在我的主視圖控制器(稱爲父)的另一個視圖內。 我設法通過添加一個容器視圖來成功嵌入子視圖控制器。
在我的子視圖控制器中,我有一個打開另一個(第三個)視圖控制器的按鈕。
我希望此屏幕在視圖容器的範圍內打開 - 但它會在全屏幕上打開。
有沒有一種方法可以定義視圖容器的方式,它的所有內部會在其邊界內顯示?
definesPresentationContext
- a UIViewController
'的房屋在這裏可以幫到你。
一個布爾值,指示當視圖控制器或其某個後代呈現視圖控制器時是否覆蓋此視圖控制器的視圖。
https://developer.apple.com/reference/uikit/uiviewcontroller/1621456-definespresentationcontext
將孩子的屬性設置爲true:
childViewController.definesPresentationContext = true
而且,呈現的viewController(3),設置它的模式呈現樣式前:
viewControllerToBePresented.modalPresentationStyle = .overCurrentContext
希望這幫助!
這工作完美 – Aragunz
嘗試這個職位。這可能有助於在範圍內添加視圖控制器。
顯示你的代碼,你如何加載第三控制器 –
也許我還不夠清楚,但目的是爲了擁有它,無論視圖容器內打開加載視圖控制器的方式(在我案例我使用第三方SDK,我沒有訪問其代碼) - 像HTML中的iframe –