我想让我的viewController解雇一个带有动画的旧viewController。但是当我使用CATransition时,我的viewController和旧的viewController淡出黑色。有什么方法可以让它不褪色吗?
import React from 'react';
import { Text, TouchableOpacity } from 'react-native';
const Button = ({onPress, children}) => {
return (
<TouchableOpacity onPress={onPress} style={styles.buttonStyle}>
<Text style={styles.textStyle}> {children} </Text>
</TouchableOpacity>
);
};
const styles = {
buttonStyle: {
flex: 1,
alignSelf: 'stretch',
backgroundColor: '#fff',
borderRadius: 5,
borderWidth: 1,
borderColor: '#007aff',
marginLeft: 5,
marginRight: 5
},
textStyle: {
fontSize: 16,
paddingTop: 10,
paddingBottom: 10,
color: '#007aff',
fontWeight: '600'
}
};
export {Button} ;
答案 0 :(得分:0)
详细了解转化here并尝试修改可用参数以达到所需效果。
关于过渡available here的良好无证信息。
如果您想要一些好的解决方案 - 您应该为屏幕准备自定义转换 - 请检查WWDC video
替代快速(但不是最好的)解决方案可能是在viewController中手动控制演示/关闭:
body {
background: #ffffff url("https://www.benngrant.com/wp-content/themes/Abstract_Dark1/images/Bottom_texture.jpg") no-repeat center center fixed;
background-size: cover;
}
#mydiv {
margin: 50px 0;
padding: 40px 0;
}
#swipe1 {
transition-timing-function: linear;
opacity: .62;
display: inline-block;
position: relative;
animation: mymove 7.85s forwards;
}
.clip {
clip-path: polygon(40% 0%, 60% 0%, 60% 100%, 40% 100%);
}
@keyframes mymove {
from {
left: -100%;
}
to {
left: 150%;
}
}
#mydiv {
text-align: center;
background: black;
opacity: .5;
max-width: 50%;
position: relative;
margin-left: auto;
margin-right: auto;
display: block;
overflow: hidden;
border: 1px solid black
}
在故事板中,不要忘记将segue参数设置为:
并将panGesture添加到您的根视图或任何其他平移手势到最顶层视图,可以用于平移 - 在我的情况下 - 我只是将平移添加到rootView:
结果: