2016-12-16 11 views
0

ich eine Unterklasse von UIView unten erstellt:Fehler: Instanzelement nicht auf Art verwendet werden ‚Viewcontroller‘

import UIKit 

class MenuBar : UIView { 

    override init(frame : CGRect){ 
     super.init(frame: frame) 
     setupViews() 
     } 

    required init?(coder aDecoder: NSCoder) { 
     fatalError("init(coder:) has not been implemented") 
     } 
    func setupViews(){ 

     } 
} 

dann möchte ich es meinen ViewController hinzuzufügen:

let menuBarView : MenuBar = { 

     let mbv = MenuBar(
     mbv.translatesAutoresizingMaskIntoConstraints = false 
     mbv.backgroundColor = UIColor.green 
     return mbv 
    }() 

Aber es gibt einen Fehler zurück: Instanzmitglied 'MenuBar' kann nicht auf Typ 'ViewController' verwendet werden

+0

Mögliche Duplikat [Fehler Swift mit - Instanz Mitglied kann nicht auf Typ ‚Viewcontroller‘ verwendet werden] (http://stackoverflow.com/questions/33055147/error-using-swift-instance-member-cannot- be-used-on-type-viewcontroller) – Sandy

Antwort

0

Nicht wirklich sicher, aber Ihr Code sollte n ot selbst kompilieren als faul Variable Instanziierung menubar

let mbv = MenuBar(

sagt, die es

let mbv = MenuBar() 

Schlussarbeits Code wäre

let menuBarView : MenuBar = { 

     let mbv = MenuBar() 
     mbv.translatesAutoresizingMaskIntoConstraints = false 
     mbv.backgroundColor = UIColor.green 
     return mbv 
    }() 

getestet werden sollte, ist es absolut gut funktioniert.

EDIT:

Dies ist, wie es verwenden und es funktioniert gut!

//other variable declaration 
    let menuBarView : MenuBar = { 
     let mbv = MenuBar() 
     mbv.translatesAutoresizingMaskIntoConstraints = false 
     mbv.backgroundColor = UIColor.green 
     return mbv 
    }() 

    override func viewDidLoad() { 
     super.viewDidLoad() 
     self.view.addSubview(menuBarView) 

     // Do any additional setup after loading the view, typically from a nib. 
    } 
+0

es funktioniert immer noch nicht :(. – TungVuDuc

+0

Ich finde kein Problem !! Alle Möglichkeiten versucht, können Sie bitte wenig mehr Code, wo erstellen Sie Ihre Lazy Variable? Wie geht es Ihnen Verwenden Sie es in Ihrem VC –

+0

Entschuldigung mein Englisch ist nicht gut, so kann ich Ihnen nicht klarer erklären. * In diesem Projekt: Klasse ViewController: UIViewController, UIScrollViewDelegate, UICollectionViewDelegateFlowLayout, UICollectionViewDelegate, UICollectionViewDataSource => so ist es zurück Fehler * Ich versuche ein neues Projekt: Klasse ViewController: UIViewController => kein Fehler – TungVuDuc

Verwandte Themen