gpt4 book ai didi

ios - 如何在 swift 中引用 al subview 层次结构

转载 作者:搜寻专家 更新时间:2023-11-01 06:15:40 24 4
gpt4 key购买 nike

你好,我正在尝试将一些样式应用于 Swift 3 代码中的 IBOutlets。但是,当我尝试从我的代码中引用 IBOutlet 时,只有当我将直接上级 UIView 添加为 IBOutlet 时才有效。

例如(给View内的所有标签元素添加字体样式):

声明

@IBOutlet var exampleView: UIView!

ViewDidLoad() 函数中

for case let label as UILabel in exampleView.subviews {
label.font = UIFont(name: "myfont-name", size: 13.0)
}

在这种情况下,labelexampleView 的直接子级,这工作正常。但我想在我的应用程序中为动态字体类型更改编写更通用的代码。

当我尝试引用 self.view.subviews for loop all the labels no mather hierarchy depth 代码不起作用。

例子:

for case let label as UILabel in self.view.subviews {
label.font = UIFont(name: "myfont-name", size: 13.0)
}

最佳答案

为此使用递归

func setFontToSubviews(view:UIView, font: UIFont) {
for subview in view.subviews {
if let label = subview as? UILabel {
label.font = font
}
setFontToSubviews(view:subview, font:font)
}
}

并使用所需的 View 和字体调用此方法。

关于ios - 如何在 swift 中引用 al subview 层次结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45610607/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com