如何在 NativeScript 中更改 iOS 突出显示状态下的按钮文本颜色?

How to change Button text color in highlighted state for iOS in NativeScript?

我正在尝试使用 css 在 iOS 上更改突出显示状态下的 Button 文本颜色。

即使我可以更改文本颜色,似乎也应用了某种不透明度或其他样式,但我不知道它是什么或如何覆盖它。

这是 Button 默认状态下的样子:

这是它在突出显示状态下的样子:

我的代码:

.facebookBtn {
  background-color: #3b5998;
  color: #fff;
  &:highlighted {
    color: #fff;
    background-color: darken(#3b5998, 5%);
  }
}

我可以看出颜色参数有效,因为如果我将它更改为 #000 它有效(当然它也不是黑色,而是某种透明的黑色)。

我试过 opacity: 1; 但没有用。不过它在 Android 上可以正常工作。

有什么建议吗?

您可以创建一个扩展 Button 的新按钮 class,它不会获得 iOS 中的默认 highlighted/tapped 样式:

import { isIOS, Button } from '@nativescript/core';

export class PlainButton extends Button {
    createNativeView() {
        if (isIOS) {
            return UIButton.buttonWithType(0);
        }
        return super.createNativeView();
    }
}

要在 nativescript-vue 中将其注册为全局组件,您可以这样做:

Vue.registerElement("PlainButton", () => PlainButton);