2011-12-14 17 views
6

Czy istnieje sposób zastosowania stylowych plików XIB utworzonych przez XCode? Coś równoznacznego z stylizowaniem pliku HTML za pomocą CSS? Chciałbym, na przykład, zmienić obraz tła wszystkich przycisków lub wszystkich przycisków danej klasy.Czy istnieje odpowiednik CSS dla XIB (XCode Interface Builder XML)?

(zdaję sobie sprawę, że prawdopodobnie przydałby XSLT przekształcić plik XIb lub podklasy NSButton ustawienie domyślne tło ale Wolałbym użyć mechanizmu typ stylesheet jeśli taki istnieje)

Dzięki, - James

+0

nie jestem świadomy każdej css jak technologie, ale można napisać kategorię przycisków który zawiera metodę '[Uibutton buttonWithDefaultBackground: bgImage]'. –

+0

Możesz teraz użyć funkcji IBInspectable i IBDesminable do zdefiniowania wszystkich stylów w jednym konkretnym miejscu, a następnie automatycznie pobrać Konstruktora interfejsu z tego kodu (bez konieczności uruchamiania symulatora). Oto przewodnik krok po kroku: https://stackoverflow.com/questions/32682764/accessing-text-styles-in-interface-builder-and-or-boardboard. Ten przykład dotyczy rozmiaru czcionki i UILabeli, ale powinien również działać dla innych widoków i właściwości. – Rogare

Odpowiedz

-1

O ile mi wiadomo, taki mechanizm nie istnieje. To zależy od twoich potrzeb, ale możesz być w stanie użyć WebView do interfejsu użytkownika aplikacji; to pozwoliłoby na pełną personalizację CSS.

Przykład można znaleźć pod adresem Matt Gemmel's blog. CocUI może również zainteresować.

+0

Korzystanie z widoku WWW znacznie zmniejszy wygodę użytkownika – htafoya

0

Szukam również czegoś podobnego. Uważam, że ten, który jest najbliżej mogę znaleźć:

podlegającej inspekcji:

możliwość dodawania więcej możliwości personalizacji interfejsu, jak zaokrąglonymi rogami, szerokość obramowania, kolor granicy ... https://www.weheartswift.com/make-awesome-ui-components-ios-8-using-swift-xcode-6/

Potem stworzyłem ten przycisków jako przykład:

@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:

nie próbowałem, ale wydaje się świetnym rozwiązaniem, można stylizować swoją aplikację za pomocą CSS: https://github.com/tombenner/nui

Powiązane problemy