Skip to content

lineHeight not distributed evenly in TextInput #39145

Description

@tibbe

Description

When you have a TextInput with lineHeight > fontSize the remaining space isn't distributed evenly around the text. For example:

<Viewstyle={styles.container}><Textstyle={styles.text}>Text</Text><TextInputstyle={styles.text}value="TextInput"/></View>
conststyles=StyleSheet.create({container: {alignItems: 'center',flexDirection: 'row',gap: 10,},text: {fontFamily: 'Inter-Regular',fontSize: 16,lineHeight: 26,letterSpacing: -0.01,color: '#111827',textAlignVertical: 'top',padding: 0,backgroundColor: 'pink',},});

Result:
All the extra space in the TextInput case is on top of the text, making it hard to vertically align TextInputs (e.g. with a Text label preceding it on the same line).

both

React Native Version

0.71.7

Output of npx react-native info

System:
OS: macOS 13.4.1
CPU: (8) arm64 Apple M1 Pro
Memory: 63.06 MB / 16.00 GB
Shell: 5.9 - /bin/zsh
Binaries:
Node: 18.16.1 - ~/.nvm/versions/node/v18.16.1/bin/node
Yarn: Not Found
npm: 9.5.1 - ~/.nvm/versions/node/v18.16.1/bin/npm
Watchman: 2023.07.03.00 - /opt/homebrew/bin/watchman
Managers:
CocoaPods: 1.12.1 - /Users/tibbe/.rbenv/shims/pod
SDKs:
iOS SDK:
Platforms: DriverKit 22.4, iOS 16.4, macOS 13.3, tvOS 16.4, watchOS 9.4
Android SDK: Not Found
IDEs:
Android Studio: 2022.2 AI-222.4459.24.2221.10121639
Xcode: 14.3.1/14E300c - /usr/bin/xcodebuild
Languages:
Java: 11.0.19 - /usr/bin/javac
npmPackages:
@react-native-community/cli: Not Found
react: 18.2.0 => 18.2.0 react-native: 0.71.7 => 0.71.7 react-native-macos: Not Found
npmGlobalPackages:
*react-native*: Not Found

Steps to reproduce

Use the above snippet in the iOS simulator.

Snack, screenshot, or link to a repository

https://snack.expo.dev/UEBid9Vxh

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions