你在哪里以编程方式在 UIView 中为 UILabel 设置文本?

Posted

技术标签:

【中文标题】你在哪里以编程方式在 UIView 中为 UILabel 设置文本?【英文标题】:where do you programmatically set text for UILabels in a UIView? 【发布时间】:2011-11-23 06:53:03 【问题描述】:

您在哪里以编程方式为 UIView 中的 UILabel 设置文本?

我尝试了 init 方法,但这不起作用。它不设置文本。

我已将代码放在使用 UIView 的父控制器中,但对我来说,将其放在 UIView 代码中的某个位置会更有意义。

背景 - 以编程方式进行文本本地化

【问题讨论】:

这个 UILabel 是一个 IB 对象吗?还是按语法创建的? @ShantiKamichetty 它是一个 IB 对象 Shanti 【参考方案1】:

你的初始化代码应该在initWithFrame:,UIView的designated initializer。

或者,您可以实现 awakeFromNib,一旦对象(例如视图)从 nib 文件中取消归档,就会调用它。

【讨论】:

是的。 IB 对象将在加载 nib 期间初始化。因此他们将无法从 init 函数中访问它们。【参考方案2】:

-init 方法中,来自 XIB 的出口尚不存在。 我在-viewDidLoad 例程中设置了那种控件的文本

【讨论】:

但在我的情况下,我在 UIView 自定义类中(即不是视图控制器),所以我不会有“viewDidLoad”。我可以从父控制器设置它,但我试图找到一种方法将代码包含在 UIView 自定义类本身中(希望有意义)

以上是关于你在哪里以编程方式在 UIView 中为 UILabel 设置文本?的主要内容,如果未能解决你的问题,请参考以下文章

以编程方式从 UIView 执行 Segue

iPhone 在 IB 中为自定义 UIView 创建 UIButton

如何使用自动布局在 Swift 中为可重用的 UIView 设置约束?

UIView 未自动释放。我的问题在哪里?

以编程方式向 UIView 添加约束

在一个 ViewController 中为 UIImageView 和 UIView 添加手势