使用反应-导航-堆栈1.10.3,应用'uikit‘的headerTransitionPreset从左到右转换标题标题,同时淡入/淡出headerRight或headerLeft中的任何元素。
在react-navigation-stack 2.0.15中,为了支持使用headerStyleInterpolator.forUIKit,这种转换被弃用了,但这种转换普遍适用于整个头部,而不仅仅是标题。
我如何在1.10.X和2.0.X上复制之前的行为,其中我可以在headerRight和headerLeft上使用forFade?
2.0.15上的示例:

1.10.3上的示例:

主要问题是在返回堆栈时删除淡入淡出动画,并将其替换为从左到右的过渡。
发布于 2020-01-17 09:54:59
forUIKit样式模仿原生iOS行为。如果您不想要相同的行为,您可以使用自定义样式插值器来代替。
如果您希望保留forUIKit中相同的插值器,但希望淡出左侧和右侧按钮而不是默认过渡,则可以使用如下所示覆盖这些样式:
function forCustomHeaderAnimation(options) {
const { progress } = options.current;
const styles = HeaderStyleInterpolators.forUIKit(options);
return {
...styles,
leftButtonStyle: { opacity: progress },
leftLabelStyle: {},
rightButtonStyle: { opacity: progress },
};
}
// ...
static navigationOptions = {
headerStyleInterpolator: forCustomHeaderAnimation
}https://stackoverflow.com/questions/59775479
复制相似问题