描述
在iOS(使用模拟器或真实设备)上,如果你有一个 TextInput
组件,其中包含 secureTextEntry={true}
和自定义字体,当你输入一个字符并删除它时,文本会 Flink 。
注意:旧的渲染器也会出现这种情况。
重现步骤
- 使用
yarn ios
安装应用程序 - 将焦点放在文本输入上
- 输入一个字符,然后删除它
React Native 版本
0.74.3
受影响的平台
运行时 - iOS
领域
Fabric - 新渲染器
npx react-native info
的输出
System:
OS: macOS 14.3
CPU: (10) arm64 Apple M1 Pro
Memory: 98.19 MB / 16.00 GB
Shell:
version: 0.91.0
path: /Users/burakguner/.cargo/bin/nu
Binaries:
Node:
version: 21.7.1
path: ~/.nix-profile/bin/node
Yarn:
version: 4.3.1
path: ~/.nix-profile/bin/yarn
npm:
version: 10.5.0
path: ~/.nix-profile/bin/npm
Watchman:
version: 2024.01.22.00
path: /Users/burakguner/.nix-profile/bin/watchman
Managers:
CocoaPods:
version: 1.15.2
path: /Users/burakguner/.local/share/gem/ruby/3.1.0/bin/pod
SDKs:
iOS SDK:
Platforms:
- DriverKit 23.0
- iOS 17.0
- macOS 14.0
- tvOS 17.0
- watchOS 10.0
Android SDK: Not Found
IDEs:
Android Studio: Hedgehog 2023.1.1 Patch 2 Hedgehog 2023.1.1 Patch 2
Xcode:
version: 15.0.1/15A507
path: /usr/bin/xcodebuild
Languages:
Java:
version: 17.0.8
path: /usr/bin/javac
Ruby:
version: 3.1.4
path: /Users/burakguner/.nix-profile/bin/ruby
npmPackages:
"@react-native-community/cli": Not Found
react:
installed: 18.2.0
wanted: 18.2.0
react-native:
installed: 0.74.3
wanted: 0.74.3
react-native-macos: Not Found
npmGlobalPackages:
"*react-native*": Not Found
Android:
hermesEnabled: true
newArchEnabled: false
iOS:
hermesEnabled: true
newArchEnabled: true
### Stacktrace or Logs
```text
There is no stack trace.
重现者
https://github.com/atlj/secure-text-entry-flicker
截图和视频
Screen.Recording.2024-07-09.at.17.27.45.mov
8条答案
按热度按时间n3ipq98p1#
在我的设备上无法复现。
React-native: 0.74.3
iOS: iPhone 15 Pro 17.0
新架构已启用
@atlj附加了一个引用。这是特定于设备的吗?
$x_1^e_0^f_1^x$
xpszyzbs2#
嘿,@shubhamguptadream11 ,我能够在以下设备上看到问题:
你是否使用了外部键盘?你需要使用屏幕键盘,否则刚刚输入的字符不可见。
nbewdwxp3#
Flink 是指点上下轻微移动吗?
dtcbnfnu4#
Flink 是指点状物轻微上下移动吗?
是的,确切地说,当字体大小较大时,这种现象会更加明显。
vql8enpb5#
嘿,@atlj,我尝试用模拟器键盘再次运行。在我这边无法复现。
设备信息与之前共享的相同。
模拟器屏幕录制 - iPhone 15 Pro - 2024-07-10 at 11.54.33.mp4
jrcvhitl6#
嘿,@shubhamguptadream11 ,我不太确定为什么,但看起来你的应用仍然使用默认字体,因为它不是粗体。
你输入的字母对我来说似乎有点轻,我可以验证没有关于默认字体的问题。
db2dz4w87#
我克隆了@atlj的复制品,在模拟器中运行它,启用了软件键盘,输入了一些字母,并观察到了相同的问题。然后我在iPhone 12上运行它,得到了相同的结果。
模拟器屏幕录制-iPhone 14 Pro-2024-07-10 12.44.07.mp4
cc @shubhamguptadream11
kiayqfof8#
use secureTextEntry={true} to fix that