你如何在ReactNative中获得框架的大小?

时间:2015-07-24 09:44:34

标签: ios objective-c swift reactjs react-native

在Swift或Objective-C中,你可以self.frame.size.width,但在ReactNative中会有什么?

2 个答案:

答案 0 :(得分:2)

您应该在视图上运行“measure”方法,以获得宽度(以及其他)(您可以为任何组件运行它,甚至整个视图):

this.refs.myRef.measure((a, b, width, height, px,py ) =>
   this.setState({ myWidth: width })
);

请注意,您可能会遇到一些可能出现问题的问题(在安装组件后未定义的引用),这可以通过一个带有超时的丑陋黑客来解决:React-Native : measure a View

答案 1 :(得分:1)

我找到了一个方便的库Dimensions.js。你可以调用Device.width()

https://github.com/GertjanReynaert/react-native-device

(编辑)的

实际上,该库最终破坏了我的应用程序。一种更简单的方法是需要var Dimensions = require('Dimensions');内置反应

Dimensions.get('window').width); regex