0

我为我正在为一家公司构建的应用程序制作了一个可滚动的标题。当我尝试使用 TouchableHighlight 触发 onPress() 事件时,它不会注册,因为位置键设置为“绝对”:

在互联网上搜索了几个小时后,我尝试了以下方法:

-提高 zIndex/elevation -确保从“react-native”导入 TouchableHighlight -从“react-native-reanimated”导入动画库

当我在主标题中注释掉 position:absolute 时,它​​工作得很好,但是当它向上滚动时,标题会在它后面留下一个视图,我无法在上面放置一个视图。

我在这里没有选择......任何帮助将不胜感激!

     <Animated.View style={globalStyles.tabNavbar}>
          <TouchableHighlight
              style={{backgroundColor: 'white', height: 50, width: 100, zIndex: 99999, elevation: 99999}}
              underlayColor="#eee"
              onPress={() => {
                  console.log('PLZ WORK');
                  this.updateTabs('projectsTab');
          }}  >
              <Animated.View style={{ alignItems: 'center'}}>
                  <Text  onPress={() => { this.updateTabs('projectsTab');}} style={{fontWeight: 'bold'}}>Close</Text>
              </Animated.View>
          </TouchableHighlight>
          <TouchableHighlight
              style={{color: 'white'}}
              underlayColor="#eee"
              onPress={() => {
                  console.log('PLZ WORK');
                  this.updateTabs('notificationTab');
          }}  >
              <View style={{alignItems: 'center'}}>
                  <Text style={{fontWeight: 'bold'}}>Close</Text>
              </View>
          </TouchableHighlight>
      </Animated.View>

4

1 回答 1

0

对于那些想知道的人,如果您将组件的视图顺序更改为具有 position: absolute 的组件位于最后的位置,则按钮将起作用。在这种情况下,我必须将标题放在最后,即使它出现在屏幕顶部。

于 2020-10-09T18:59:34.143 回答