[英]How to switch properly between UIViews or UIViewController inside NSObject Class when clicked the item in tableView inside of NSObject in Swift?
我想要的是,我有 NSObject MenuView,其中包含 tableView,當我單擊其中一個單元格時,它應該刪除另一個 Z594C103F2C6E04C3D8AB059F031E0C1 上的當前 UIViewController 或 UIView。 我在 NSObject didSelectItem 方法中使用了 MainPageController 的共享實例,通過使用 view.willRemoveSubviews(myCurrentView) 和 addSubView(newView) 將 MainPageController 上的當前視圖替換為新視圖,但它甚至沒有崩潰或錯誤。 請問有人可以幫我嗎? 我卡在上面很久了...
這是我如何做到的信息。
inside of NSObject class's didSelectItem
方法中
let view = UIView()
view.backgroundColor = .red
MainPageController.shared.addCustomSubView(View: view)
以及我如何in MainPageController
定義它
func addCustomSubView(View: UIView) {
view.willRemoveSubview(inOutView)
view.addSubview(View)
View.anchor(top: headerLine.bottomAnchor, leading: view.leadingAnchor, bottom: footerLine.topAnchor, trailing: view.trailingAnchor, padding: .init(), size: CGSize(width: 0, height: 0))
}
inOutView
也是我的另一個 controller 的視圖,我將其添加為當前MainPageController
的子視圖
所以我想用我的新View
替換inOutView
來自 didSelectItem 內部的NSObject
class
在MainPageController
:
@objc fileprivate func handleMenuButton() {
menuLauncher.showSettings()
menuLauncher.mainPageController = self
}
func showController() {
let dummyController = UIViewController()
dummyController.view.backgroundColor = .red
addChild(dummyController)
view.addSubview(dummyController.view)
dummyController.view.anchor(top: headerLine.bottomAnchor, leading: view.leadingAnchor, bottom: footerLine.topAnchor, trailing: view.trailingAnchor, padding: .init(), size: CGSize(width: 0, height: 0))
dummyController.didMove(toParent: self)
}
並在 NSObject class 和didSelectItemAtIndexPath
內部聲明var mainPageController: MainPageController
這段代碼:
self.mainPageController?.showController()
通過這樣做,我通過使用 NSObject 實現了在 viewController 內部的 uiviews 之間的切換。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.