2011-12-14 24 views
6

Esiste un modo per applicare i file XIB di stile creati da XCode? Qualcosa di simile allo styling di un file HTML con CSS? Mi piacerebbe essere in grado, ad esempio, di cambiare l'immagine di sfondo per tutti i pulsanti o per tutti i pulsanti di una determinata classe.Esiste un equivalente per CSS per XIB (XCode Interface Builder XML)?

(mi rendo conto che probabilmente potrebbe utilizzare XSLT per trasformare il file XIB o sottoclasse NSButton per impostare uno sfondo di default, ma avevo molto meglio utilizzare un meccanismo di tipo foglio di stile se ne esiste uno)

Grazie, - James

+0

io non sono a conoscenza di css come la tecnologia, ma si potrebbe scrivere una categoria per i pulsanti che incorpora un metodo '[Pulsante UIButtonWithDefaultBackground: bgImage]'. –

+0

Ora è possibile utilizzare IBInspectable e IBDesignable per definire tutti i propri stili in un punto particolare, quindi estrarre Interface Builder da tale codice automaticamente (senza dover eseguire il simulatore). Ecco una guida dettagliata: https://stackoverflow.com/questions/32682764/accessing-text-styles-in-interface-builder-and-or-storyboards. Questo esempio è per le dimensioni del font e UILabels, ma dovrebbe funzionare anche per altre viste e proprietà. – Rogare

risposta

-1

Per quanto ne so, non esiste un meccanismo del genere. Dipende dalle tue esigenze, ma ciò che potresti essere in grado di fare è usare una WebView per l'interfaccia utente della tua applicazione; questo consentirebbe la piena personalizzazione del CSS.

Un esempio può essere trovato su Matt Gemmel's blog. CocUI potrebbe anche essere di interesse.

+0

L'uso della webview ridurrà notevolmente l'esperienza dell'utente – htafoya

0

Sto anche cercando qualcosa di simile. Ho trovato questo, che sono i più vicini sono riuscito a trovare:

ispezionabile:

Possibilità di aggiungere ulteriori funzionalità di personalizzazione per l'interfaccia, come angoli arrotondati, spessore del bordo, colore del bordo ... https://www.weheartswift.com/make-awesome-ui-components-ios-8-using-swift-xcode-6/

Successivamente, ho creato questo per i pulsanti come un esempio:

@IBDesignable public class DesignableButton: UIButton {   
    @IBInspectable var buttonStyle: String { 
     set { 
      switch newValue { 
      case "green": 
       layer.frame.size.height = 44 
       layer.cornerRadius = 22 
       layer.backgroundColor = UIColor.greenColor().CGColor 
      case "white": 
       layer.backgroundColor = UIColor.whiteColor().CGColor 
       layer.frame.size.height = 44 
       layer.cornerRadius = 22 
      default: 
       break 
      } 
     } 
    } 
} 

Swift UI:

non hanno provato, ma sembra una grande soluzione, è possibile stilizzare la vostra applicazione usando i CSS: https://github.com/tombenner/nui