【问题标题】:Can't change opacity (alpha) programmatically无法以编程方式更改不透明度(alpha)
【发布时间】:2015-02-03 06:54:03
【问题描述】:

在我的故事板上创建了一个按钮,并在我的视图控制器中为它创建了一个插座

property (strong, nonatomic) IBOutlet UIButton *buttonGetStarted;

但在我的一生中,我无法通过以下代码(在 viewDidLoadviewDidAppear 调用中)更改其不透明度:

_buttonGetStarted.alpha = 0.5f;

self.buttonGetStarted.alpha = 0.5f;

仅从情节提要中按钮的属性更改 alpha 有效。

这是为什么?

【问题讨论】:

  • 您确定插座已连接?
  • 是的,buttonGetStarted 很可能为零,因为它在 XIB 中没有正确连接。
  • Jack Wu——这就是问题所在。我没有注意到它,但插座连接被莫名其妙地删除了。我想我这样做是错误的,并没有注意到它。如果您在答案中写下此内容,我将能够记入您的 Stackoverflow 帐户。

标签: ios xcode cocoa-touch uikit


【解决方案1】:

两件事: 1) 检查以确保您没有在情节提要中子类化您的按钮。

2) 有时我发现使用方法调用会有所帮助。

[self.buttonGetStarted setAlpha:0.5f];

希望对您有所帮助。

【讨论】:

  • 点和方括号的语法是等价的。
  • @thelaws 你是对的,但我觉得我之前遇到过这个问题,切换到括号语法解决了这个问题。
【解决方案2】:

确保您在主线程上执行代码

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-11-30
    • 1970-01-01
    • 2019-04-11
    • 2013-06-12
    • 2012-03-23
    • 2018-05-18
    • 2013-06-18
    • 2011-01-22
    相关资源
    最近更新 更多