ios - 在 React Native 中获取 View 的大小

标签 ios react-native

是否可以获取某个 View 的大小(宽度和高度)?例如,我有一个显示进度的 View :

<View ref='progressBar' style={{backgroundColor:'red',flex:this.state.progress}} /> 

我需要知道 View 的实际宽度才能正确对齐其他 View 。这可能吗?

最佳答案

从 React Native 0.4.2 开始,View 组件有一个 onLayout prop .传入一个接受事件对象的函数。事件的 nativeEvent 包含 View 的布局。

<View onLayout={(event) => {
  var {x, y, width, height} = event.nativeEvent.layout;
}} />

每当调整 View 大小时,onLayout 处理程序也会被调用。

主要注意事项是 onLayout 处理程序在您的组件安装后的一帧首先被调用,因此您可能希望隐藏您的 UI,直到您计算出您的布局。

关于ios - 在 React Native 中获取 View 的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30203154/

相关文章:

ios - MMDrawerViewController 设置

IOS:创建全屏 'overlay' UIView (Monotouch)

react-native - React Navigation 自定义导航器转换

javascript - 为什么 backgroundColor 不起作用(React Native)?

objective-c - 如何创建这样的 iOS TableView ?

ios - 如何在 Swift 中将数组中的数据分解为表中的标签?

ios - React native xcode 调试和发布方案两种不同的构建

react-native - React-Navigation this.props.navigation.navigate undefined 不是一个对象

ios - 使用页面 Controller 自动移动 ScrollView

reactjs - 状态更新后渲染函数不更新 View