react-native 在iOS上,安全文本输入 Flink

mf98qq94  于 5个月前  发布在  React
关注(0)|答案(8)|浏览(82)

描述

在iOS(使用模拟器或真实设备)上,如果你有一个 TextInput 组件,其中包含 secureTextEntry={true} 和自定义字体,当你输入一个字符并删除它时,文本会 Flink 。
注意:旧的渲染器也会出现这种情况。

重现步骤

  1. 使用 yarn ios 安装应用程序
  2. 将焦点放在文本输入上
  3. 输入一个字符,然后删除它

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

n3ipq98p

n3ipq98p1#

在我的设备上无法复现。
React-native: 0.74.3
iOS: iPhone 15 Pro 17.0
新架构已启用
@atlj附加了一个引用。这是特定于设备的吗?
$x_1^e_0^f_1^x$

xpszyzbs

xpszyzbs2#

嘿,@shubhamguptadream11 ,我能够在以下设备上看到问题:

  • iPhone 15模拟器
  • iPhone 14 Plus (iOS 18 Beta 2)
  • iPhone SE第三代(iOS 16.0.2)

你是否使用了外部键盘?你需要使用屏幕键盘,否则刚刚输入的字符不可见。

nbewdwxp

nbewdwxp3#

Flink 是指点上下轻微移动吗?

dtcbnfnu

dtcbnfnu4#

Flink 是指点状物轻微上下移动吗?
是的,确切地说,当字体大小较大时,这种现象会更加明显。

vql8enpb

vql8enpb5#

嘿,@atlj,我尝试用模拟器键盘再次运行。在我这边无法复现。
设备信息与之前共享的相同。
模拟器屏幕录制 - iPhone 15 Pro - 2024-07-10 at 11.54.33.mp4

jrcvhitl

jrcvhitl6#

嘿,@shubhamguptadream11 ,我不太确定为什么,但看起来你的应用仍然使用默认字体,因为它不是粗体。
你输入的字母对我来说似乎有点轻,我可以验证没有关于默认字体的问题。

db2dz4w8

db2dz4w87#

我克隆了@atlj的复制品,在模拟器中运行它,启用了软件键盘,输入了一些字母,并观察到了相同的问题。然后我在iPhone 12上运行它,得到了相同的结果。
模拟器屏幕录制-iPhone 14 Pro-2024-07-10 12.44.07.mp4
cc @shubhamguptadream11

kiayqfof

kiayqfof8#

use secureTextEntry={true} to fix that

相关问题