RefreshControl sometimes does not hide and acts weirdly on iOS - ios

after upgrading from react-native#0.26 activity indicator of RefreshControl sometimes appears in right corner of ScrollView on iOS.
I am using RefreshControl as correctly as documentation says:
...
<ScrollView
style={styles.container}
refreshControl={
<RefreshControl
refreshing={this.state.isRefreshing}
onRefresh={this.onPullToRefresh}
/>
}>
<View>
...
</View>
</ScrollView>
...
and here is what sometimes happening while not refreshing:
Now I am running react-native#0.30.0 and this indicator is still annoying me.
Am I the only who faces this issue?

Solved by setting background to transparent color...
...
<ScrollView
style={styles.container}
refreshControl={
<RefreshControl
refreshing={this.state.isRefreshing}
onRefresh={this.onPullToRefresh}
style={{backgroundColor: 'transparent'}}
/>
}>
...

Related

Can't press TouchableOpacity when keyboard is up. I need to double press it. React Native

I am making a comments section for my app with React-Native and building for ios. When the keyboard is up to post a comment I can't immedietley press the TouchableOpacity button that submits the post. I need to first press it to close the keyboard then press again to submit.
const CommentCreation = React.forwardRef((props, ref) => {
return (
<View style={commentCreationStyles.container} >
<TextInput
value={props.message}
ref={ref}
style={commentCreationStyles.input}
onChangeText={val => props.setMessage(val)}
autoFocus={false}
multiline={true}
returnKeyType={'next'}
placeholder={'Enter Your Comment'}
numberOfLines={5}
replyBool={props.replyBool}
/>
<TouchableOpacity
style={commentCreationStyles.submitButton}
onPress={props.addCommentEnabled ? () => {props.addComment(); Keyboard.dismiss()} : null}
>
<Ionicons name="ios-send" size={36} color="#D7D7D7" />
</TouchableOpacity>
</View>
)
})
I have tried keyboardShouldPersistTaps="handled" and its variations in conjunction with ScrollView in addition to View and replacing View. I have tried these on all levels of the tree. I'm at a loss, any help is greatly appreciated!
Add keyboardShouldPersistTaps='handled' in the first View as
<View style={commentCreationStyles.container} keyboardShouldPersistTaps='handled' >

How to stretch component to fullscreen, even notch in reactnative

https://imgur.com/a/c6wxosN
Hi, can somebody help me, how to stretch component all over iPhone screen, even notch? If you look at that image, I would like to have it even, where clock and battery icons are.
I've already tried to use SafeAreaView, but it didn't work.
const { isLoading, loadingError } = this.state;
return (
<View style={styles.container}>
{isLoading && this.renderLoading()}
{
loadingError
? this.renderLoadingError()
: <WebView
style={styles.radar}
onLoad={this.onLoaded}
onLoadStart={this.loadingStarted}
onLoadEnd={this.onLoadFinished}
onError={this.onError}
source={{ uri: this.props.radarUrl }}
/>
}
</View>
);
}
Thank you in advice!

React-Native Picker wheel for Views

Like the title says I would like to create something like the Picker but instead of scrolling between text I would like to be able to scroll between cards that are View components. Is there a way to do this with the built in Picker or is there a npm packet somewhere which achieve this effect?
My code with Picker that is not working and only displaying the label
<View>
<Text>{this.state.language}</Text>
<Picker
selectedValue={this.state.language}
style={{ height: 250, width: "100%",}}
onValueChange={(itemValue, itemIndex) => this.setState({language: itemValue})}>
<Picker.Item label="Java" value="java">
<View>
<Text>HELLO THERE GENERAL KENOBI</Text>
</View>
</Picker.Item>
<Picker.Item label="JavaScript" value="js" />
</Picker>
</View>
This is somewhat the effect I would like to achieve, being able to scroll between cards

A view with a Button child, if I set view's height to 0, the button does not disappear,why?

Here is the code, it is very simple:
render() {
return (
<View>
<StatusBar hidden={true}/>
<View style={{height:0}}>
<Button>
<Text>this button should disappears</Text>
</Button>
</View>
<View style={{height:400}}>
<Text>other view</Text>
</View>
</View>
);
}
And here is the output screenshot:
As you can see, because the height of the view is 0, so the button's container is invisible, but why is the button still visible?
After some work, I found out that I have to set the 'other view' 's backgroundColor&height to overlap the button, like that:
<View style={{height:400,backgroundColor:'white'}}>
<Text>other view</Text>
</View>
Now the button will be invisible.
It's so strange, just Button component, I have tried several other components, they are all ok, is it a bug of Button?
Thanks Wong Kim Hau for his reminding, the Button component is from 'native-base', not 'react native'
I'm using react-native v0.44.0, native-base 2.1.3
just use the default Button component from 'react-native', it work fine.

React Native TouchableHighlight in Listview ignores the first click event

I have this issue in both iOS Simulator and in real device too.
I have a Listview with Touchablehighlight. When i press the list at first, it ignores. It only functions when it is double clicked.Can anyone help me out with this.
Here i have a piece of code, that is inside my render function
<ListView dataSource= {ds.cloneWithRows(this.state.searchedAdresses)}
renderRow={this.renderAdress}
renderSeparator={this._renderSeperator}
enableEmptySections={true}
automaticallyAdjustContentInsets={false}
/>
renderAdress = (rowData, sectionID, rowID) => {
return (
<TouchableHighlight onPress = {this._onPressAddressList.bind(this,rowData.place_id,rowData.description)}underlayColor = '#a9a9a9' >
<View shouldRasterizeIOS={true} renderToHardwareTextureAndroid={true}>
<Text style={ styles.listTextInput } >{rowData.description</Text>
</View>
</TouchableHighlight>
);};
Thank you
I can think of 2 cases:
You have TextInput gaining the focus and when you tap your list view item the first time it removes focus from the input and hides the keyboard. This is described here.
They reported that this is an issue with emulator.

Resources