本文介绍了保持iPhone UIButton突出显示的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有以下代码片段:

@interface Foo: UIViewController {
  ...
  UIButton *myButton;
  ...
}

@implementation Foo

@implementation Foo

- (void) viewDidLoad {
  ...
  myButton.highlighted = YES;
  ...
}

当我运行应用程序时,按钮是以蓝色突出显示(默认行为)。它按预期工作。

When I run the app, the button is highlighted in blue (default behavior). It works as I expected.

但按下按钮一次后,该按钮不再突出显示。

But after pressing the button once, the button is no longer highlighted.

然后,我创建了一个 IBAction highlightButton 来处理 Touch Up Inside 事件,我明确地调用 myButton.highlighted = Yes; 。不幸的是,按钮突出显示仍然没有停留。

Then, I created an IBAction highlightButton to handle Touch Up Inside event where I explicitly call myButton.highlighted = Yes;. Unfortunately, the button highlight still does not stay.

如果按下后如何将其突出显示为蓝色?

How can I keep it highlighted in blue even after being pressed?

推荐答案

解决办法是在下一个runloop中执行 [button setHighlighted:YES]

The solution is to do [button setHighlighted:YES] in the next runloop:

- (void)highlightButton:(UIButton *)b {
    [b setHighlighted:YES];
}

 - (IBAction)onTouchup:(UIButton *)sender {
    [self performSelector:@selector(highlightButton:) withObject:sender afterDelay:0.0];
}

这篇关于保持iPhone UIButton突出显示的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-16 07:48