Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 在设备外部反应本机模式内容';s观点_Reactjs_React Native_React Native Android_React Native Ios - Fatal编程技术网

Reactjs 在设备外部反应本机模式内容';s观点

Reactjs 在设备外部反应本机模式内容';s观点,reactjs,react-native,react-native-android,react-native-ios,Reactjs,React Native,React Native Android,React Native Ios,我有下面的模式,当它不适合屏幕时,我希望它的内容可以滚动。但是,当设备的窗口变小时,模式的内容刚好溢出设备的视图边界之外-一些页眉和部分页脚丢失 如何激活scrollView,使内容包含在设备的视图范围内 从'react native'导入{Modal,ScrollView}; { setModalVisibility(!modalVisible); }}> ..... 编辑: 对于任何有同样问题的人。我发现的一个修复方法是在模式中的视图上设置高度到height:Dimensions.get(

我有下面的
模式
,当它不适合屏幕时,我希望它的内容可以滚动。但是,当设备的窗口变小时,
模式
的内容刚好溢出设备的视图边界之外-一些页眉和部分页脚丢失

如何激活scrollView,使内容包含在设备的视图范围内

从'react native'导入{Modal,ScrollView};
{
setModalVisibility(!modalVisible);
}}>
.....
编辑:

对于任何有同样问题的人。我发现的一个修复方法是在
模式中的
视图上设置高度到
height:Dimensions.get('window')。height,
。由于模态似乎具有绝对定位,这可能是唯一的方法。
然而,这样做的一个缺点是,在更大的屏幕上,你仍然会占据所有的空间。当我有一个修复工作正常,我会张贴一个答案

尝试在父视图中插入模型,并根据需要设置父视图样式

import React, { Component } from "react";
import { Modal, View, ScrollView } from "react-native";

class ModalExample extends Component {
  state = {
    modalVisible: true
  };

  setModalVisibility = () => {
    this.setState({
      modalVisible: this.state.modalVisible
    });
  };

  render() {
    return (
      <View style={{ flex: 1 }}>
        <Modal
          animationType="fade"
          transparent={true}
          visible={this.state.modalVisible}
          onRequestClose={this.setModalVisibility}
        >
          <ScrollView contentContainerStyle={styles.modalOuterContainer}>
              ...
          </ScrollView>
        </Modal>
      </View>
    );
  }
}

import React,{Component}来自“React”;
从“react native”导入{Modal,View,ScrollView};
类ModalExample扩展组件{
状态={
modalVisible:对
};
setModalVisibility=()=>{
这是我的国家({
modalVisible:this.state.modalVisible
});
};
render(){
返回(
...
);
}
}

对于我的案例来说,一个很好的解决方案是在
模式中有一个
视图
元素,
maxHeight
设置为
maxHeight:Dimensions.get('window')。高度-50,
。我使用
-50
只是为了有一些边距,但这不是必需的

import { Modal, ScrollView } from 'react-native';

<Modal
  transparent
  animationType="fade"
  visible={modalVisible}
  onRequestClose={() => {
    setModalVisibility(!modalVisible);
  }}>
 <View style={{maxHeight: Dimensions.get('window').height - 50}}
  <ScrollView contentContainerStyle={styles.modalOuterContainer}>
    .....
  </ScrollView>
 </View>
</Modal>
从'react native'导入{Modal,ScrollView};
{
setModalVisibility(!modalVisible);
}}>

尝试使用
flex:1
将滚动视图包装到视图中,如果我这样做,它现在会像模态一样弹出,并且它会将其他所有内容推到更低的位置,因为视图可能没有相同的位置。视图不会推低任何内容,因为它位于模态内部。误读包装模态。我也试过了,但标题仍然在设备屏幕之外。您是否在小屏幕设备上测试过这种方法?我使用的是Android Emulator-3.3wqvga,它不工作。