如何为 UIButton 设置默认状态图像?

Posted

技术标签:

【中文标题】如何为 UIButton 设置默认状态图像?【英文标题】:How to set the default-state Image for UIButton? 【发布时间】:2013-07-21 18:11:07 【问题描述】:

我完全糊涂了。 我只想为 UIButtons 列表的默认状态设置一个图像。但在不起作用。 我只是将图像分配给我的 Outlet-Collection 的设置器中的所有按钮,但是如果按钮被突出显示,图像只会出现,但我希望图像总是被设置,除非按钮被选中。到目前为止,这是我的代码:

-(void)setCardButtons:(NSArray *)cardButtons

    UIImage * cardBackImage = [UIImage imageNamed:@"card-back.jpg"];
    for (UIButton * button in cardButtons) 
        [button setImage:cardBackImage forState:UIControlStateNormal|UIControlStateHighlighted];
        [button setImage:nil forState:UIControlStateSelected];
    
    _cardButtons = cardButtons;

我真的不知道我做错了什么?如何在不使用 IB 的情况下设置默认状态按钮的图像?

【问题讨论】:

奥特莱斯的收藏是出了名的漏洞百出。您是否遍历按钮并验证它们在 IBOutlet 中是否正确? 【参考方案1】:

您可以使用几种状态,请确保正确设置它们。将其复制并粘贴到 Xcode 中,然后通过 Tab 键填充您的图像。

阅读the Apple Doc for this 可能值得一提。

[button setImage:<# normal image #> forState:UIControlStateNormal];
[button setImage:<# selected image #> forState:UIControlStateSelected];
[button setImage:<# highlighted image #> forState:UIControlStateHighlighted];
[button setImage:<# selected and highlighted image #> UIControlStateSelected | forState:UIControlStateHighlighted];

【讨论】:

【参考方案2】:

你试过只用:

    [button setImage:cardBackImage forState:UIControlStateNormal];

【讨论】:

以上是关于如何为 UIButton 设置默认状态图像?的主要内容,如果未能解决你的问题,请参考以下文章

如何为状态 UIControlStateHighlighted 设置按钮标签文本颜色

如何为 TypeScript React 应用程序设置键/值默认状态

UIButton 为状态正常设置图像,在不同状态下隐藏该图像

如何为 Tailwindcss 全局更改默认、活动和悬停状态的链接颜色?

如何为数组中的每个创建一个具有唯一图像和选择器的自定义 UIButton?

UIButton:为选中状态设置图片