ReactNative:UITableView.rectForRowAtIndexPath ListView 模拟?
ReactNative: UITableView.rectForRowAtIndexPath analog for ListView?
我需要找出项目在列表视图中的位置(就像 rectForRowAtIndexPath 对 UITableView 所做的那样),这怎么可能?
我相信这会奏效:
确保每个项目都有唯一的 ref 道具(React 文档中有关 ref 道具的更多信息:https://facebook.github.io/react/docs/more-about-refs.html)
在您的代码中,每当您需要在 this.refs.your_reference 上调用 "measure" 方法时。确保它在 componentDidMount() 中,但是可能需要(警告!黑客!)通过 setTimeout 方法调用它,如此处所述
我将内置的 onLayout 函数用于视图。例如:
<View onLayout={this.handleLayout}/>
那么你的函数将有:
handleLayout: function(event){
var {x, y, width, height} = event.nativeEvent.layout;
console.log('x pos:' + x + ' / y pos:' + y + ' / width:' + width + ' / height:' + height);
},
希望对您有所帮助!
我需要找出项目在列表视图中的位置(就像 rectForRowAtIndexPath 对 UITableView 所做的那样),这怎么可能?
我相信这会奏效:
确保每个项目都有唯一的 ref 道具(React 文档中有关 ref 道具的更多信息:https://facebook.github.io/react/docs/more-about-refs.html)
在您的代码中,每当您需要在 this.refs.your_reference 上调用 "measure" 方法时。确保它在 componentDidMount() 中,但是可能需要(警告!黑客!)通过 setTimeout 方法调用它,如此处所述
我将内置的 onLayout 函数用于视图。例如:
<View onLayout={this.handleLayout}/>
那么你的函数将有:
handleLayout: function(event){
var {x, y, width, height} = event.nativeEvent.layout;
console.log('x pos:' + x + ' / y pos:' + y + ' / width:' + width + ' / height:' + height);
},
希望对您有所帮助!