如何在触摸时禁用UIButton图像的颠倒翻转?

时间:2011-12-06 12:59:51

标签: iphone xcode ipad ios5

我为UIButton为“UIControlStateNormal”设置了一个图像,如果我按下此按钮,图像就会被遮挡并翻转到我持有它的时间。

阴影是可以的,但如果我不想设置状态为“UIControlStateHighlighted”的自定义图像,如何禁用滑动? 谢谢你的帮助

制作按钮的代码是:

UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
        button.tag=i;
        [button addTarget:self action:@selector(buttonClicked:) forControlEvents:UIControlEventTouchUpInside];
        button.frame = CGRectMake(xakt, yakt, a, b);

然后我用- (void)setImage:(UIImage *)image forState:(UIControlState)state功能设置按钮图像。 我包括2张图片,第一张是正常状态,第二张是处于按下状态

Normal state pressed state

2 个答案:

答案 0 :(得分:2)

我对上述这种行为的观察(单击按钮时图像反转)仅限于以下情况:

  1. 使用设置按钮的图像 - (void)setBackgroundImage:(UIImage *)image forState:(UIControlState)state状态为UIControlStateNormal

  2. 可能不需要此条件,但imageOrientation的{​​{1}}为UIImage

  3. 指定其余两个控制状态的背景图像应解决问题。

    UIImageOrientationDown

    请注意:

    UIButton *button = ...
    UIImage *image = ...
    [button setBackgroundImage:image forState:UIControlStateNormal];
    // Specify same image for selected / highlighted states
    [button setBackgroundImage:image forState:UIControlStateSelected];
    [button setBackgroundImage:image forState:UIControlStateHighlighted];
    

    没用。

答案 1 :(得分:0)

您似乎没有在- (void)setImage:(UIImage *)image forState:(UIControlState)state实例上使用UIButton