【问题标题】:UIButton retains the glows after it has been touchedUIButton 在被触摸后保持发光
【发布时间】:2014-09-05 15:00:13
【问题描述】:

您好,我正在使用以下代码在我的应用中制作 customUIButtons。

+ (NSArray *) createButtonItemNormalImage:(UIImage *)normalImage
                       highlightImage:(UIImage *)highlightImage
                        disabledImage:(UIImage *)disabledImage
                      touchUpSelector:(SEL)selector
                               target:(id)target
{

 // HighlightImage is not used. Highlight is shown using iOS glow
UIButton *uiButton = [UIButton buttonWithType:UIButtonTypeCustom];
uiButton.bounds = CGRectMake(0,
                             0,
                             normalImage.size.width,
                             normalImage.size.height);
[uiButton setImage:normalImage
          forState:UIControlStateNormal];

if (disabledImage)
{
    [uiButton setImage:disabledImage
              forState:UIControlStateDisabled];
}
[uiButton addTarget:target
             action:selector
   forControlEvents:UIControlEventTouchUpInside];

uiButton.showsTouchWhenHighlighted = YES;

UIBarButtonItem *buttonItem = [[UIBarButtonItem alloc] initWithCustomView:uiButton];

return [NSArray arrayWithObjects:buttonItem, uiButton, nil];
}

我使用上述功能制作了一个取消按钮。取消按钮将用户从一个屏幕带到另一个屏幕。问题是当我回到第一个屏幕时,取消按钮仍然发光。我以前也看到过这个问题,但曾经打电话给[self.view setNeedsLayout] 来解决它。

为什么会发生这种情况以及解决它的正确方法是什么? 谢谢!

【问题讨论】:

  • uiButton.showsTouchWhenHighlighted = YES; TO uiButton.showsTouchWhenHighlighted = NO;
  • @DarshanKunjadiya 我希望按钮只有在被触摸时才会发光。设置 uiButton.showsTouchWhenHighlighted = NO 将使按钮根本不发光。问题是即使不被触摸它也会发光。
  • 我在视图上只有六个按钮之一时遇到了同样的问题。所有六个配置相同,但由于某种原因,其中只有一个在被触摸后无法“发光”。非常令人沮丧。我已经多次重新生成有问题的按钮,但似乎没有任何解决问题的方法。

标签: ios objective-c ios7 uibutton


【解决方案1】:

为了以不那么标准的方式解决这个问题,我现在在进入第一个屏幕时将所有按钮的突出显示状态设置为 no。我使用myButton.highlighted = NO;。但是文档说明highlighted 属性如下。

如果控件被突出显示,则指定 YES;否则否。默认情况下,控件不突出显示。 UIControl 会在跟踪期间进入和退出触摸以及进行触摸时自动设置和清除此状态。

在我的情况下并没有发生。我很想知道它背后的原因和解决它的标准方法

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-09-10
    • 2010-12-19
    • 1970-01-01
    • 1970-01-01
    • 2011-12-08
    • 2011-09-14
    • 2017-12-12
    • 2023-04-03
    相关资源
    最近更新 更多