【问题标题】:how to add shadow to a custom category class in iphone sdk如何在 iphone sdk 中为自定义类别类添加阴影
【发布时间】:2013-03-08 06:42:48
【问题描述】:

我正在为 UIButton 创建一个自定义类别类,但它没有阴影功能。那么当单击该按钮时,我应该如何在该按钮上添加阴影。

【问题讨论】:

  • 你的意思是用户点击时的效果还是阴影应该是永久的?
  • 是的,我的意思是用户点击该按钮时的效果。

标签: iphone uibutton


【解决方案1】:

如果您需要在按钮上突出显示,而不仅仅是添加:

button.highlighted= YES;

如果您想要悬停类型效果的阴影,而不仅仅是向您的按钮添加另一个图像并将其 controlstatenormal 设置为 hightlighted,即:

//for normal tap
[button setBackgroundImage:[UIImage imageNamed:@"normal.png"] forState:UIControlStateNormal];

//for hovering effect
[button setBackgroundImage:[UIImage imageNamed:@"hover.png"] forState:UIControlStateHighlighted];

【讨论】:

  • button.highlighted 从一开始就将其设置为高亮状态,但我只是想知道是否有 UIButton 的任何内置属性,我们可以通过它为自定义按钮添加阴影而不依赖背景图片。
  • stackoverflow.com/questions/11169225/… 这个链接可以帮助你
【解决方案2】:

每个按钮都有几个状态:

  enum {
   UIControlStateNormal               = 0,
   UIControlStateHighlighted          = 1 << 0,
   UIControlStateDisabled             = 1 << 1,
   UIControlStateSelected             = 1 << 2,
   UIControlStateApplication          = 0x00FF0000,
   UIControlStateReserved             = 0xFF000000
  };

您可以为每个状态设置不同的图像:

- (void)setBackgroundImage:(UIImage *)image forState:(UIControlState)state

如果只想设置标题阴影,可以使用:

- (void)setTitleShadowColor:(UIColor *)color forState:(UIControlState)state

顺便说一句

如果您使用的是 IB,您可以在界面中设置状态图像。

【讨论】:

  • 我尝试更改标题阴影颜色,但 UIButton 的阴影效果没有变化...我希望阴影遍布按钮。
  • 我想在所有按钮下更改您应该将不同的图像设置为突出显示状态。然后将按钮状态设置为突出显示。见@Aaaaa 答案
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多