目前,这是一个更复杂的过程,我打算写一篇关于这个的博客文章。但是,作为一个简短的开始,我在这里写一些东西。
第一个问题是 RCTAnimation / RCTAnimationManager 根本不存在,如果您使用react-native init [ProjectName]
( https://github.com/facebook/react-native/issues/226 ) 创建了您的项目。
您需要从左上角的加号将其添加到 XCode 中:“将文件添加到 [ProjectName]”。然后导航到node_modules > Libraries > Animation > RCTAnimation.xcodeproj
。导入后,您需要将其拖到Libraries
项目中。
然后你需要打开 tab Build Phases
。那里有菜单Link Binary With Libraries (x items)
。从名为的文件Products
下拖动到菜单。RCTAnimation.xcodeproj
libRCTAnimation.a
现在,您可以构建项目以支持动画。我对 XCode 不太熟悉,所以可能有一种更简单的方法来实现这一点,但我把它整理成这样。
第二个问题是并非所有可用的(或计划的)功能都在那里。至少我在屏幕上看到任何东西之前经历了反复试验和错误的丛林。
首先尝试例如此代码,以充分证明动画正在工作:
var {
Animation,
AppRegistry,
StyleSheet,
Text,
View
} = React;
var styles = StyleSheet.create({
test: {
width: 400,
height: 400,
backgroundColor: 'blue',
opacity: 0
}
});
var AnimationTest = React.createClass({
componentDidMount () {
Animation.startAnimation(this.refs['this'], 400, 0, 'linear', {opacity: 1});
},
render () {
return (
<View ref='this' style={styles.test}>
<Text>Just an animation test</Text>
</View>
)
}
});
AppRegistry.registerComponent('AnimationTest', () => AnimationTest);
这应该让你继续前进。如果您需要任何进一步的帮助,请通知我。
如果我成功地以博客文章的形式编写了更完整的说明,我会将其更新为这个答案。