I have a react-native app with a scrollable ListView
of clickable items with TabBarIOS
at the bottom of the screen. I'm sure you get it but attaching a screenshot in case it helps.
For some reason, when I click on the TabBarIOS.Item
it triggers the clickable item underneath and I'm not sure why.
Posting my render function. If anyone could tell me what I'm doing wrong or suggest something I could try I would appreciate it. Thanks in advance.
render() {
if (!this.state.loaded) {
return this.renderLoadingView();
}
return (
<View style={{ flex: 1 }}>
<StatusBar
hidden={true}
barStyle="light-content"
/>
<View style={styles.chapterListHeader}>
<Text style={styles.chapterListTitleText}>Chapters</Text>
<Image
style={styles.clutchLogoImage}
resizeMode="contain"
source={require('../Assets/Images/clutchLogoSmall.png')}
/>
</View>
<ListView
dataSource={this.state.dataSource}
renderRow={this.renderChapter.bind(this)}
renderFooter={this.renderFooter.bind(this)}
style={styles.chapterList}
onEndReached={() => {console.log('end reached')}}
renderSeparator={(sectionID, rowID) => <View key={`${sectionID}-${rowID}`} style={styles.separator} />}
/>
<View>
<View>
<TabBarIOS>
<TabBarIOS.Item
systemIcon="history"
selected={this.state.selectedTab === 'tabOne'}
onPress={() => this.setTab('tabOne')}
></TabBarIOS.Item>
<TabBarIOS.Item
systemIcon="bookmarks"
selected={this.state.selectedTab === 'tabTwo'}
onPress={() => this.setTab('tabTwo')}
></TabBarIOS.Item>
<TabBarIOS.Item
systemIcon="more"
selected={this.state.selectedTab === 'tabThree'}
onPress={() => this.setTab('tabThree')}
></TabBarIOS.Item>
</TabBarIOS>
</View>
</View>
</View>
);
}
Have you tried making your
ListView
the height of the parentView
minus the height of yourTabBar
? This will prevent the last item in theListView
from being hidden under theTabBar
component.