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
ListViewthe height of the parentViewminus the height of yourTabBar? This will prevent the last item in theListViewfrom being hidden under theTabBarcomponent.