单击按钮删除视图

时间:2016-10-20 11:50:54

标签: ios swift

我使用以下代码使用集合加载我的表。

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)

} 

1 个答案:

答案 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中删除它。所以将其添加为子视图。