如何在 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);
我正在尝试使用 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);