1

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

4

2 回答 2

0

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

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];
于 2013-03-08T06:50:16.457 回答
0

每个按钮都有几个状态:

  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,您可以在界面中设置状态图像。

于 2013-03-08T06:53:28.717 回答