2016-10-20 5 views
0

Ich verwende folgenden Code, um meine Tabelle mithilfe der Sammlung zu laden.Ansicht bei Klick auf Schaltfläche entfernen

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() 

Ich möchte diese Tabelle auf Knopfdruck entfernen und eine andere Ansicht laden. Beim Klicken auf die Schaltfläche wird eine andere Ansicht geladen, aber ich kann diese Tabelle UIWindowView nicht entfernen. Wie kann ich das entfernen?

Edit:

Added-Code, die ich versucht:

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

Aktualisieren Sie Ihre Frage mit der Schaltfläche zum Entfernen klicken Methode –

+0

Schaltfläche click Methode hinzugefügt – dang

+1

'tableView.dismissViewController()' –

Antwort

0

nicht diese

self.window!.rootViewController = myController 

Verwenden

self.window?.addSubview(myController.view) 

Und statt mit

Verwenden Sie
self.window?.removeFromSuperview() // code 1 
self.window?.rootViewController?.removeFromParentViewController() // code 1 
self.window?.hidden = true // code 2 

Verwendung Diese,

myController.view.removeFromSuperview() // If Button on the another viewcontroller 

oder

self.view.removeFromSuperview() // If Button on the myController 

Denn wenn man MyController als root machen, kann es nicht von superview entfernt werden. Fügen Sie dies als Unteransicht hinzu.

+0

Wenn ich - self.window? .addSubview (myController.view) verwende, gibt es mir einen Fehler. – dang

+0

Es heißt - UICollectionView erhielt Layout-Attribute für eine Zelle mit einem Index-Pfad, der nicht existiert: dang

+0

1. Sagen Sie mir, was ist myController und mainViewController? – Pritam

Verwandte Themen