保持 iPhone UIButton 突出显示

Keep iPhone UIButton Highlighted(保持 iPhone UIButton 突出显示)
本文介绍了保持 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 突出显示的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Pushing UIViewController above UITabBar(将UIView控制器推送到UITabBar上方)
java.lang.IllegalStateException: SimpleTypeImpl should not be created for error type(异常:不应为错误类型创建SimpleTypeImpl)
Android IllegalArgumentException: The tag for fragment_XXX is invalid. Received: layout-sw600dp/fragment_XXX_0(Android IlLegalArgumentException:Fragment_XXX的标签无效。收到:Layout-sw600dp/Fragment_XXX_0)
iOS convert audio sample rate from 16 kHz to 8 kHz(IOS将音频采样率从16 kHz转换为8 kHz)
Enforcing an audio sampling rate in iOS(在iOS中强制音频采样率)
HTTPS request using volley(使用 volley 的 HTTPS 请求)