【问题标题】:How can I put a ListView inside a ScrollView using React Native iOS?如何使用 React Native iOS 将 ListView 放在 ScrollView 中?
【发布时间】:2015-11-02 15:21:36
【问题描述】:

我正在构建一个 iOS React Native 应用程序。我有一些测试内容,然后是它下面的项目列表。如果我将文本内容和列表视图都放在滚动视图中,则列表视图无法正常工作(仅显示一些项目)但如果我不将列表视图放入滚动视图中,则列表视图会滚动但文本内容保持锁定到屏幕顶部。如何让文本内容随着列表视图滚动?

这是我的问题的一个示例:
https://rnplay.org/apps/GWoFWg

【问题讨论】:

    标签: ios listview scrollview react-native


    【解决方案1】:

    您应该使用 ListView.renderHeader 属性渲染顶部内容:

    class SampleApp extends React.Component {
    
      _renderHeader() {
        // your header rendering code here
      }
    
      _renderRow() {
        // your row rendering code here
      }
    
      render() {
        return (
          <ListView
            renderRow={this._renderRow}
            renderHeader={this._renderHeader}
            />
        );
      }
    }
    

    ListView 在内部使用 ScrollView 来提供滚动行为,因此无需将其包装在另一个 ScrollView 中。

    【讨论】:

    • 这正是我所需要的。谢谢!这是一个工作示例:rnplay.org/apps/GWoFWg
    • 但是如果列表很长,这个标题会滚出屏幕。如何使标题变粘?使用stickyIndi​​ces 会导致一个非常糟糕的行为,即滚动到屏幕外的行在标题下方可见。
    • @shrutim 如果你不希望你的标题随着 ListView 滚动,不要把它放在 ListView 中,只需在它上面渲染标题组件:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-28
    相关资源
    最近更新 更多