2015-10-08 1 views
0

Je peux utiliser le code suivant pour surcharger drawRect() dans swift, qui fonctionne correctement.Swift IOS transparent vue sur la vue d'origine. Recouvrir. Sous-vue

override func drawRect(rect: CGRect) { 
    var path = UIBezierPath(ovalInRect: rect) 
    UIColor.greenColor().setFill() 
    path.fill() 
} 

Je souhaite ajouter une vue secondaire (ou une deuxième vue) à la vue d'origine. Ma question est, comment puis-je remplacer le drawRect() d'une sous-vue?

Ou, comment puis-je simplement faire une nouvelle vue à la sous-vue et la placer sur la vue d'origine?

Répondre

0

Créez une sous-classe personnalisée UIView, par ex.

class MyCustomView: UIView { 
    override func drawRect(rect: CGRect) { 
     // do whatever you need to do 
    } 
} 

ensuite avec var overlayView = UIView() remplacer var overlayView = MyCustomView()

+0

J'ai aussi essayé de mettre override func vewDidLoad() {} dans cette nouvelle classe, mais je reçois méthode ne remplace pas une méthode à partir de son superclasse. Des idées? – Joel