2017-06-03 5 views
0

Je crée un composant IBDesignable afin que je puisse voir le rendu du composant en direct dans le storyboard Xcode. Le composant est simplement une composition d'autres composants. Malheureusement, l'un de ces composants nécessite un UIViewController pour fonctionner correctement. Oui, mauvais, mais je n'ai aucun contrôle sur elle.IBDesignable View - besoin de ViewController au moment du design

Le composant fonctionne correctement dans l'application, mais ne s'affiche pas correctement au moment du design car le UIViewController de cette scène n'est pas disponible. J'ai essayé

  • marche la chaîne de répondeur recherche d'un UIViewController
  • la création d'un IBOutlet sur le composant et le connecter à la vue Controller dans le story-board

Aucun d'entre eux a travaillé; le View Controller est toujours nul. Aucune suggestion?

Répondre

1

Un UIViewController ne peut pas être rendu en mode IBDesignable. Vous pouvez simplement IBDesignable dans une vue personnel. échantillon

:

import UIKit 

@IBDesignable 
class SMButton: UIButton { 


    override func layoutSubviews() { 
     super.layoutSubviews() 

     layer.cornerRadius = 6 
     layer.borderColor = UIColor.baseInstagram.cgColor 
     layer.borderWidth = 0.66 

     titleLabel?.font = UIFont.systemFont(ofSize: 15) 
     titleLabel?.textColor = UIColor.baseInstagram 

    } 


} 

L'échantillon est un bouton rond avec bordure.

+0

Je crains que vous ayez raison. J'ai testé le branchement d'autres commandes du storyboard au composant avec le même résultat. Le concepteur en direct ne fonctionne pas avec * toutes * les prises externes. –

0

Malheureusement, aucun des environnements environnants du composant IBDesignable ne peut influencer le composant lui-même.