iPhone SDK:带有自定义图像的 UIButton 可以显示标题吗?
Posted
技术标签:
【中文标题】iPhone SDK:带有自定义图像的 UIButton 可以显示标题吗?【英文标题】:iPhone SDK: Can a UIButton with custom images display the title? 【发布时间】:2010-12-27 19:39:42 【问题描述】:如果我为 UIControlState normal 和 UIControlStateSelected 创建了一个带有图像的自定义 UIButton,我仍然应该能够显示按钮的标题吗?目前我不能。这就是我创建按钮的方式:
UIImage *moveButtonImage = [UIImage imageWithContentsOfFile: [[NSBundle mainBundle] pathForResource:@"button_move_inactive" ofType:@"png"] ];
UIImage *moveButtonSelectedImage = [UIImage imageWithContentsOfFile: [[NSBundle mainBundle] pathForResource:@"button_move_pressed" ofType:@"png"] ];
self.moveButton = [UIButton buttonWithType:UIButtonTypeCustom];
[self.moveButton setImage : moveButtonImage forState : UIControlStateNormal];
[self.moveButton setImage : moveButtonSelectedImage forState : UIControlStateSelected];
[self.moveButton setTitle:@"Test" forState:UIControlStateNormal];
在这种情况下,按钮标题永远不会显示,我不得不创建自己的标签以显示在按钮上,这似乎是一种 hacky 做事方式。也许我在这里做错了什么?
【问题讨论】:
【参考方案1】:有两个地方可以在 UIButton 中使用图像,作为按钮本身,就像你正在做的那样:
setImage:forState:
或作为按钮的背景:
setBackgroundImage:forState:
如果您使用setImage
,则图像会覆盖按钮的整个外观。如果您改为使用setBackgroundImage
,则按钮标题仍然可见。
【讨论】:
这样一个简单的错误让我悲痛欲绝。哇!以上是关于iPhone SDK:带有自定义图像的 UIButton 可以显示标题吗?的主要内容,如果未能解决你的问题,请参考以下文章
如何在iPhone中创建带有小时和秒钟自定义图像的数字时钟?
如何在 iphone sdk 的 xmpp 中发送带有消息的笑脸/情感(图像)?