错误样式如图,输入框内部的内容偏移了:

image-JzXE.png

我是使用 React,输入框是在 Sheet 弹框中显示的,iOS设备一直显示有问题。

尝试了无数种办法,一直以为是焦点的问题,或者 React 的刷新机制影响了控件的显示。

我真的服了,无语死了,麻了。


最最后,发现的 高度 的问题!!!

不要给 input 设置固定的高度,而是通过 padding 来控制,然后就显示正常了。


我真的服了,期间尝试过 各种思路:

  1. 以为是布局影响,监听各种布局的改变,控制软键盘,网上搜的能监听的都试过了。
  2. 或者是焦点冲突的影响?提取或尽可能移除 useState 避免刷新组件。
  3. 或者是其他控件的影响?各种提取组件,使其尽量独立,不受其他控件干扰。
  4. 或者是 input 控件的平台适配问题?给 input 加各种平台适配的 css 样式,想让其居中显示。

最后,给领导说搞不了,改UI吧,想把输入框往上面放,不管软键盘了。
然后就在改布局的过程中,偶然发现好像好了,然后就发现了是高度的问题。
我真的麻了,上面的所有,像是 一百拳打在了空气中 。

image-lcwG.png


应该是 固定高度 在 软键盘弹出时,布局发生变化,会影响 input 的自修复吧。
改成 py-3 后,它就可以自己调整高度和内容显示了。