【问题标题】:Creating a UILabel when it's a property当它是一个属性时创建一个 UILabel
【发布时间】:2012-04-24 16:00:11
【问题描述】:

我认为我在这里有点愚蠢,但我想知道您是否可以对此有所了解。

我有一个带有视图和按钮的单视图应用程序。在我的viewControllers 按钮操作中,我想在屏幕上创建一个标签。

如果我创建一个标签:UIlabel * label = [UIlabel alloc] initwithframe... 它工作正常。

但是,如果我给我的 viewController 一个 uilabel 属性,然后尝试使用以下内容创建一个标签:self.mylabel = [UILabel alloc] initWithFrame... 当我添加标签时,它不会出现。

我知道还有其他方法可以实现这一点,但我只是想知道为什么会发生这种情况,除非我是个大白痴!

有人有什么想法吗?

【问题讨论】:

  • 您在哪里创建标签?你在哪里添加标签?你不应该访问 self.view,而在你的 init 方法中。使用 viewDidLoad 或 loadView 来添加视图元素。
  • 我正在使用按钮中的 IBAction。

标签: iphone ios xcode properties uilabel


【解决方案1】:

确保将其作为子视图添加到 viewController 的视图中。

[self.view addSubview:label]

【讨论】:

  • 完美答案..您必须将其添加为 self.view 的子视图,然后才会出现..
  • 我用过 [self.view addSubView:self.myLabel];
【解决方案2】:

在您将标签添加到视图时,您的标签很可能为零。如果你确定你的标签至少被正确分配,那么在它的@property 声明中明确检查它是如何被保留(或不被保留)的。

例如,如果您已将其声明为 weak,那么您需要在范围内初始化并使用标签。

在将标签添加到视图的代码上放置一个断点,以便您了解正在发生的事情。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-19
    • 1970-01-01
    • 1970-01-01
    • 2011-02-18
    • 2018-11-01
    相关资源
    最近更新 更多