Xcode:仅在默认状态下设置按钮上的图像,而不是选中

Posted

技术标签:

【中文标题】Xcode:仅在默认状态下设置按钮上的图像,而不是选中【英文标题】:Xcode: set image on button only for default state, not also selected 【发布时间】:2013-04-19 15:58:41 【问题描述】:

我是 Xcode 和 iPhone 编程的新手。我有一个简单的问题困扰着我。我想在按钮上设置一个图像,因为它是默认状态。所以我选择按钮,在“显示属性检查器”选项卡中,选择“状态配置”作为默认值,然后在“图像”下拉列表中找到所需的图像...

问题:

我将“状态配置”更改为选中,图像仍然打开。我需要图像仅在默认状态下打开。如果我想在默认状态和选定状态下使用不同的标题文本字体大小,我也会遇到同样的问题。 我正在使用 Xcode 4.6 并为 ios 6.1 编写代码。

【问题讨论】:

【参考方案1】:

有两种方法。

第一种方式,以编程方式:

[button setBackgroundImage:buttonimg forState:UIControlStateSelected];
[button setBackgroundImage:buttonimg forState:UIControlStateNormal];
[button setBackgroundImage:buttonimg forState:UIControlStateHighlighted];

第二种方式,使用 IB Builder:

喜欢图片:

您可以选择状态配置。根据配置,您可以在“图像”部分下设置图像。

希望这会有所帮助...

【讨论】:

【参考方案2】:

您为什么不以编程方式执行此操作?会简单很多。

[cancelButton setBackgroundImage:cancelImg forState:UIControlStateNormal];
[cancelButton setBackgroundImage:selectedImg forState:UIControlStateSelected];

【讨论】:

【参考方案3】:

如果您想以编程方式执行此操作,akash 的答案就是您要走的路。 但是,如果您想从界面生成器中执行此操作,则应遵循以下两个步骤(此处为图片:https://www.evernote.com/shard/s29/sh/9abb1987-614d-4326-b5bb-bcff28756ee4/85d6ca236276166992ff01a082222e96):

    对于每个状态配置 选择您想要的图片或将其留空

Xcode 将您为 Default 状态添加的相同图像置于 Selected 状态,但如果您更改第二个,它不会被自动覆盖。

【讨论】:

以上是关于Xcode:仅在默认状态下设置按钮上的图像,而不是选中的主要内容,如果未能解决你的问题,请参考以下文章

setImage forState 方法为按钮上的所有状态设置图像

图像按钮仅在单击图像而不是按钮内部区域时响应

iOS 8.2 升级不在 UIImageView 中显示图像,但仅在通过 iTunes 或 TestFlight 而不是 Xcode 加载的应用程序中

如何仅在 UIButton 中为标题的特定部分设置图像

iPad上的黑屏而不是启动图像

UIButton 上的 UIControl.State.Highlighted 图像仅在第一次触摸事件后有效