【发布时间】:2015-10-14 22:25:21
【问题描述】:
在 Swift 或 Objective-C 中,您可以使用 self.frame.size.width,但在 ReactNative 中等效的是什么?
【问题讨论】:
标签: ios objective-c swift reactjs react-native
在 Swift 或 Objective-C 中,您可以使用 self.frame.size.width,但在 ReactNative 中等效的是什么?
【问题讨论】:
标签: ios objective-c swift reactjs react-native
您应该在您想要获得宽度(以及其他)的视图上运行“测量”方法(您可以为任何组件运行它,甚至是整个视图):
this.refs.myRef.measure((a, b, width, height, px,py ) =>
this.setState({ myWidth: width })
);
请注意,您可能会陷入一些陷阱(安装组件后立即未定义的引用),这可以通过带有超时的丑陋黑客来解决:React-Native : measure a View
【讨论】:
我找到了一个方便的库react-native-device。你会打电话给 Device.width()
https://github.com/GertjanReynaert/react-native-device
(已编辑)
实际上,那个库最终破坏了我的应用程序。一个更简单的方法是要求 Dimensions.js 内置在 react 中
var Dimensions = require('Dimensions');
Dimensions.get('window').width);
【讨论】: