ios - 为什么我需要滑动按钮才能使它们工作?
问题描述
我正在世博会中构建一个简单的应用程序,我在物理设备android和ios上进行测试,对于android工作正常,对于IOS如果我去另一个屏幕我需要滑动按钮使其工作,我尝试在屏幕上禁用手势options={{gestureEnabled: false}} 的选项,我也禁用了动画:
<NavigationContainer>
<Stack.Navigator>
<Stack.Screen
name="HomeScreen"
component={HomeScreen}
options={{
animationEnabled: false, // here
}}
/>
</Stack.Navigator>
</NavigationContainer>
{/* Whole navigation stack */}
<Stack.Navigator screenOptions={{ animationEnabled: false }}></Stack.Navigator>
此代码删除了所有手势和过渡,但我仍然需要在按钮上滑动才能使其工作,这是一种非常奇怪的行为。
我有一个带有按钮的非常基本的主屏幕:
<View style={{width:"100%"}}>
<Button
title="Test Button"
onPress={() => this.btnDoTest()}
/>
</View>
而且事件也很基础:
btnDoTest(){
//
this.props.navigation.navigate('SecondScreen');
}
这是 package.json:
{
"main": "node_modules/expo/AppEntry.js",
"scripts": {
"start": "expo start",
"android": "expo start --android",
"ios": "expo start --ios",
"web": "expo start --web",
"eject": "expo eject",
"test": "jest --watchAll"
},
"jest": {
"preset": "jest-expo"
},
"dependencies": {
"@expo/vector-icons": "^10.0.0",
"@react-native-community/async-storage": "^1.11.0",
"@react-native-community/masked-view": "0.1.10",
"@react-navigation/bottom-tabs": "^5.6.1",
"@react-navigation/native": "^5.6.1",
"@react-navigation/stack": "^5.6.2",
"axios": "^0.19.2",
"expo": "~38.0.8",
"expo-asset": "~8.1.7",
"expo-constants": "~9.1.1",
"expo-font": "~8.2.1",
"expo-linking": "^1.0.1",
"expo-notifications": "^0.5.0",
"expo-splash-screen": "~0.3.1",
"expo-status-bar": "^1.0.2",
"expo-web-browser": "~8.3.1",
"moment": "^2.27.0",
"moment-timezone": "^0.5.31",
"openpay-react-native": "^1.0.3",
"react": "~16.11.0",
"react-dom": "~16.11.0",
"react-native": "https://github.com/expo/react-native/archive/sdk-38.0.2.tar.gz",
"react-native-datepicker": "^1.7.2",
"react-native-dropdown-autocomplete": "^1.0.18",
"react-native-elements": "^2.0.4",
"react-native-gesture-handler": "~1.6.0",
"react-native-modal": "^11.5.6",
"react-native-safe-area-context": "~3.0.7",
"react-native-screens": "~2.9.0",
"react-native-searchable-dropdown": "^1.1.1",
"react-native-table-component": "^1.2.1",
"react-native-web": "~0.11.7",
"react-navigation-drawer": "^2.5.0",
"react-navigation-stack": "^2.8.2",
"react-redux": "^7.2.0",
"redux": "^4.0.5",
"redux-logger": "^3.0.6",
"redux-persist": "6.0.0",
"redux-thunk": "^2.3.0"
},
"devDependencies": {
"@babel/core": "^7.8.6",
"@types/react": "~16.9.23",
"@types/react-native": "~0.62.13",
"babel-preset-expo": "~8.1.0",
"jest-expo": "~38.0.0",
"typescript": "~3.9.5"
},
"private": true
}
解决方案
从头开始重新安装proyect并一一添加软件包以检查是否是问题并安装了所有内容
推荐阅读
- php - 如何修复 MySQL 状态 [2002] 数据库“连接被拒绝”
- gmail-api - Gmail 返回 base64 编码但列为可引用打印
- angular - 早些时候在 fromGroup 中出现错误,它工作正常,但现在显示错误
- angular - 带有 AngularFire 的 Angular 拦截器
- c# - 是否可以“取消导航”已经导航的框架(XAML 元素)?
- jquery - Uncaught TypeError: $(...) is not a function - 当自调用函数位于脚本底部时
- c# - 来自按钮的适配器内的 StartActivityForResult 不会触发 OnActivityResult
- elixir - 在 Phoenix 中使用原始文本 SQL 查询是不好的做法吗?
- .net - 显示为空数据网格的数据网格。即使标题不显示
- javascript - 当我在 index.js 上导入类时,“元素类型无效:需要一个字符串”