如何使用 Xcode 在 Swift 中按 UI 元素类型进行应用范围/更快的更新......?

Posted

技术标签:

【中文标题】如何使用 Xcode 在 Swift 中按 UI 元素类型进行应用范围/更快的更新......?【英文标题】:How to do app-wide / faster updates by UI element type, in Swift using Xcode ...? 【发布时间】:2017-01-11 21:43:18 【问题描述】:

只是好奇 - 对 swift 应用程序进行一些维护,有点费时,想知道是否有更好的推荐方式或更快的方式(?),对 UI 元素类型进行大规模更新,例如更新所有按钮,使其具有特定属性,例如说颜色或宽度限制...?

【问题讨论】:

您可以使用Command+click选择多个元素。 【参考方案1】:

颜色,是的,通过使用按钮的外观代理,比如

UIButton.appearance().backgroundColor = UIColor.whateverColor()

宽度限制,没有。不过,还有其他几种方法可以做到这一点。

如果您的 regex 技能很熟练,您可以在所有 storyboard 和 xibs 的 XML 代码中进行搜索和替换,为每个代码添加宽度约束,但这很容易出错,因为其中一些可能已经有宽度限制。 您可以将UIButton 子类化并给它一个宽度约束并设置您希望的任何其他属性,但是您仍然必须使用您的自定义类类型搜索并替换外观文件中的所有UIButtons。

【讨论】:

【参考方案2】:

对于一些大规模更新,例如更改控件的字体或颜色,您可以使用 UIAppearance 代理。您还可以扩展类以添加更多选项来控制视图和控件的设计。只需添加标有 UI_APPEARANCE 的方法并根据需要实现。

【讨论】:

以上是关于如何使用 Xcode 在 Swift 中按 UI 元素类型进行应用范围/更快的更新......?的主要内容,如果未能解决你的问题,请参考以下文章

Swift之深入解析如何使用Xcode和LLDB v2修改UI元素

如何在 Xcode 中的 UI 测试类的目标中包含 SwiftyUserDefaults.swift?

创建 UITextView 时,如何在实时视图中显示的 Swift Playgrounds(在 Xcode 上)的 UI 中隐藏键盘?

在 Xcode 7.0.1 中进行 UI 测试时,是不是可以使用 Swift 滚动到 Element()?

Xcode swift UI 测试对比两张截图

使用Swift在Xcode 9中不显示IBDesignable UI