2011-12-14 22 views
6

Có cách nào để áp dụng một tệp XIB kiểu được tạo bởi XCode không? Một cái gì đó tương đương với phong cách một tập tin HTML với CSS? Tôi muốn có thể nói, thay đổi hình nền cho tất cả các nút hoặc cho tất cả các nút của một lớp nhất định.Có tương đương với CSS cho XIB (XCode Interface Builder XML) không?

(Tôi nhận ra tôi có thể có thể sử dụng XSLT để chuyển đổi các tập tin XIB hoặc lớp con NSButton để thiết lập một nền mặc định nhưng tôi đã nhiều thay vì sử dụng một cơ chế kiểu stylesheet nếu có)

Cảm ơn, - James

+0

Tôi không biết về bất kỳ css như công nghệ nhưng bạn có thể viết một thể loại cho các nút của bạn trong đó kết hợp một phương pháp '[Nút UIButtonWithDefaultBackground: bgImage]'. –

+0

Bây giờ bạn có thể sử dụng IBInspectable và IBDesignable để xác định tất cả các kiểu của bạn ở một nơi cụ thể và sau đó có Trình tạo giao diện kéo tự động từ mã đó (mà không phải chạy trình mô phỏng). Dưới đây là hướng dẫn từng bước: https://stackoverflow.com/questions/32682764/accessing-text-styles-in-interface-builder-and-or-storyboards. Ví dụ đó dành cho kích thước phông chữ và UILabels, nhưng nó cũng hoạt động cho các chế độ xem và thuộc tính khác. – Rogare

Trả lời

-1

Theo như tôi biết, không có cơ chế nào tồn tại. Nó phụ thuộc vào nhu cầu của bạn, nhưng những gì bạn có thể làm là sử dụng một WebView cho giao diện người dùng của ứng dụng của bạn; điều này sẽ cho phép tùy chỉnh CSS đầy đủ.

Ví dụ có thể được tìm thấy trên Matt Gemmel's blog. CocUI cũng có thể được quan tâm.

+0

Sử dụng chế độ xem web sẽ giảm đáng kể trải nghiệm người dùng – htafoya

0

Tôi cũng đang tìm kiếm nội dung tương tự. Tôi thấy điều này là gần nhất tôi có thể tìm thấy:

Inspectable:

Khả năng thêm các tính năng cá nhân hóa hơn để giao diện, như các góc tròn, chiều rộng biên giới, màu biên giới ... https://www.weheartswift.com/make-awesome-ui-components-ios-8-using-swift-xcode-6/

Sau đó, tôi tạo này cho các nút bấm như một ví dụ:

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

Đã không cố gắng nhưng có vẻ như một giải pháp tuyệt vời, bạn có thể phong cách hóa ứng dụng của bạn sử dụng CSS: https://github.com/tombenner/nui

Các vấn đề liên quan