ios - 突出显示没有多个图像的 UIButton

标签 ios uikit uibutton

我去过以下链接:

How to programatically highlight a UIButton?

在他们代码的前两行我发现:

UIImage* normalImage = [_infoButton imageForState:UIControlStateNormal];<br>
UIImage* highlighted = [_infoButton imageForState:UIControlStateHighlighted];

他们的 infoButton 似乎使用了多个图像。我有一个有很多按钮的应用程序,每个按钮都有不同的图像,这使得我的应用程序非常庞大。如果我为 normalStatehighlightedState 制作不同的图像,我的应用程序大小会增加一倍。所以,我需要一些想法,比如模糊,或缩小按钮或图像的大小,或缩小 alpha,用于我的按钮图像。我不知道代码,这是我的问题。

如何在 iPhone 中为点击的按钮设置动画/突出显示?

提前致谢。

最佳答案

首先,“规模非常大”是相对的。是否超过了阻止通过网络下载的 10 MB 限制?如果不是,也许您不必担心。

其次,您是否尝试过将图像保存为压缩率更高的格式,例如 JPEG?

第三,这些“不同的图像”是否有本质上的不同,如“在一种状态下它看起来像一头大象,在另一种状态下它看起来像泰姬陵”?还是需要不同的“大象状态”?听起来像是后者。

一种可能是设置按钮的一些属性来激活不同的绘图行为。看看这两个选项:

button.reversesTitleShadowWhenHighlighted
button.adjustsImageWhenHighlighted 

或尝试改变

- (void)setTitleColor:(UIColor *)color forState:(UIControlState)state; 

他们实际上提供了很多选择。

关于ios - 突出显示没有多个图像的 UIButton,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1229139/

相关文章:

ios - CFRelease中的空指针(由静态分析器告知)

iphone - CLLocationManager 在 iOS 4.3 模拟器中不工作

swift - 使用 SF Symbols 时调整 UImage 的大小 - UIImage(systemName :))

ios - 如何在 iOS Swift 中实现标签嵌入到 UIImageView 中,如图所示?

ios - 如何通过 UIButton 传递参数

iphone - 释放对象时内存不会减少

ios - 使用自定义动画呈现嵌入导航 Controller 中的 View Controller

swift - UIButton 边框功能仅返回白色边框

ios - 文本不适合特定字体的 UIButton titleLabel 高度

ios - CNContactStoreDidChange 是否有效?联系人更改时我无法收到回电