【问题标题】:Is there an equivalent to CSS for XIB (XCode Interface Builder XML)?是否有与 XIB 的 CSS(XCode Interface Builder XML)等价的东西?
【发布时间】:2012-01-20 13:31:45
【问题描述】:

有没有办法应用 XCode 创建的样式 XIB 文件?相当于用 CSS 设置 HTML 文件的样式?例如,我希望能够更改所有按钮或某个类的所有按钮的背景图像。

(我意识到我可能会使用 XSLT 来转换 XIB 文件或子类 NSButton 来设置默认背景,但如果存在样式表类型机制,我更愿意使用)

谢谢, ——詹姆斯

【问题讨论】:

  • 我不知道任何类似 css 的技术,但您可以为按钮编写一个类别,其中包含一个方法 [UIButton buttonWithDefaultBackground:bgImage]
  • 您现在可以使用 IBInspectable 和 IBDesignable 在一个特定位置定义所有样式,然后让 Interface Builder 自动从该代码中提取(无需运行模拟器)。这是一个分步指南:stackoverflow.com/questions/32682764/…。该示例适用于字体大小和 UILabel,但它也适用于其他视图和属性。

标签: css themes xib skin


【解决方案1】:

我也在寻找类似的东西。我发现这是我能找到的最接近的:

可检查

能够为界面添加更多个性化功能,例如圆角、边框宽度、边框颜色... https://www.weheartswift.com/make-awesome-ui-components-ios-8-using-swift-xcode-6/

之后,我以按钮为例:

@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 用户界面

尚未尝试但似乎是一个很好的解决方案,您可以使用 CSS 为您的应用设置样式: https://github.com/tombenner/nui

【讨论】:

    【解决方案2】:

    据我所知,不存在这样的机制。这取决于您的需求,但您可以做的是将 WebView 用于应用程序的 UI;这将允许完整的 CSS 自定义。

    可以在Matt Gemmel's blog 上找到一个示例。 CocUI 也可能感兴趣。

    【讨论】:

    • 使用 webview 会大大降低用户体验
    猜你喜欢
    • 1970-01-01
    • 2022-01-10
    • 2018-05-26
    • 2014-10-14
    • 2012-12-30
    • 2020-07-21
    • 1970-01-01
    • 2021-09-17
    • 2018-06-01
    相关资源
    最近更新 更多