2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

ReactNativeのScrollView+Keyboardで二回タップを防ぐ

Posted at

この記事は、ReactNativeで以下の条件を満たしたい場合の対処法を書いています。

  • ScrollViewを使っている
  • ScrollViewの子要素に、 TextInutButton(あるいはTouchableOpacity)が含まれている
  • TextInputに入力するためにソフトキーボードが立ち上がり、入力後に送信ボタンなどを押したいが、 ボタンを2回タップしないといけない (1回目のボタンタップでソフトキーボードが消え、2回目のボタンタップでボタンタップ時のアクションが実行される)

解決法はとても簡単で、ScrollViewの keyboardShouldPersistTaps
プロパティの値を "always" にするだけ
です。

<ScrollView keyboardShouldPersistTaps='always'>
//
</ScrollView>

これによって、最初にボタンタップした時にキーボードが隠れるのを防ぎ、そのままボタンタップのイベントを発火させることができます。

もちろん、KeyboardAwareScrollView などでも使用可能です。

参考: Today’s React Native Tip: Keyboard issues in ScrollView

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?