我去过以下链接:
How to programatically highlight a UIButton?
在他们代码的前两行我发现:
UIImage* normalImage = [_infoButton imageForState:UIControlStateNormal];<br>
UIImage* highlighted = [_infoButton imageForState:UIControlStateHighlighted];
他们的 infoButton 似乎使用了多个图像。我有一个有很多按钮的应用程序,每个按钮都有不同的图像,这使得我的应用程序非常庞大。如果我为 normalState
和 highlightedState
制作不同的图像,我的应用程序大小会增加一倍。所以,我需要一些想法,比如模糊,或缩小按钮或图像的大小,或缩小 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/