我使用以下代码使用集合加载我的表。
self.window = UIWindow(frame: CGRect(x:40, y:120, width:self.view.bounds.width-100, height:self.view.bounds.height-200))
self.window!.backgroundColor = UIColor.whiteColor()
let mainController : CollectionViewController = CollectionViewController(nibName: "CollectionViewController", bundle: nil)
myController.TableHeaderArray = TableHeaders
let ApiResponse = self.dataTableViewdictParams(apiUrl)
myController.UMIDDataArray = ApiResponse[0] as! NSMutableArray
myController.TableDataArray = ApiResponse[1] as! NSMutableArray
self.window!.rootViewController = myController
self.window!.makeKeyAndVisible()
我想在按钮单击时删除此表并加载另一个视图。在按钮上单击另一个视图加载但我无法删除此表UIWindowView。我该如何删除?
编辑:
添加了我尝试过的代码:
function loadanotherView()
{
/// I tried these three codes but none worked for me
self.window?.removeFromSuperview() // code 1
self.window?.rootViewController?.removeFromParentViewController() // code 1
self.window?.hidden = true // code 2
let frame = CGRect(x:0, y:-20, width:self.view.bounds.width, height:self.view.bounds.width)
WView.frame=frame
let url = NSURL(string:"urlForTheWebView")
let req = NSURLRequest(URL:url!)
self.webView!.loadRequest(req)
self.view.addSubview(WView)
}
答案 0 :(得分:0)
不要使用
self.window!.rootViewController = myController
使用此
self.window?.addSubview(myController.view)
而不是使用
self.window?.removeFromSuperview() // code 1
self.window?.rootViewController?.removeFromParentViewController() // code 1
self.window?.hidden = true // code 2
使用此,
myController.view.removeFromSuperview() // If Button on the another viewcontroller
或
self.view.removeFromSuperview() // If Button on the myController
因为如果以root身份创建myController,则无法从superView中删除它。所以将其添加为子视图。