当 pickerView 出现时 UITextField 中的文本向左移动

Posted

技术标签:

【中文标题】当 pickerView 出现时 UITextField 中的文本向左移动【英文标题】:Text in UITextField shifts to left when pickerView comes up 【发布时间】:2015-03-13 07:59:01 【问题描述】:

我有一个 UITextField,它的右视图上有一个按钮。文本字段的输入视图是一个pickerView。现在,我在这里隐藏了 textField 的光标:

Hide the cursor of an UITextField

当我选择 textField 时,pickerView 出现了。 pickerView 中的第一个值是+1。到这里为止一切都很好。

现在,当我从 pickerView 中选择 +34 时,textField 中的文本会向左移动,并且左侧看不到一半的加号。在此之后,即使我选择+1,加号的一半也隐藏在左侧。我怀疑这与 textField 中的文本区域数量因文本大小的增加而增加有关。不过不确定。

请注意,当 pickerView 关闭时,TextField 中的文本会正确对齐。

我应该怎么做才能确保文本不会向左移动整个内容仍然可见?

谢谢。

Picker code

self.picker = UIPickerView()
self.picker.delegate = delegate
self.picker.dataSource = delegate
self.picker.showsSelectionIndicator = true

self.countriesSpinner = createPickerTextField([
    "width": width,
    "height": height,
    "top": top,
    "left": left
]) //This returns a text field
self.countriesSpinner.inputView = self.picker

【问题讨论】:

我可以看看你的代码吗? 好的,你想看代码的哪一部分?有点大。 我添加了选择器代码。 试试这个,在 ios 模拟器中执行您的应用程序并转到 DEBUG-> Color Blended 图层。看看发生了什么......你可以在那里看到因为什么原因你不能看到全文.. 嘿!谢谢。我这样做了,然后将文本对齐到 textField 的右侧,现在一切正常。 【参考方案1】:

试试这个,

在 iOS 模拟器中执行您的应用程序,然后转到 DEBUG-> Color Blended 图层,看看会发生什么。您将能够在那里看到您看不到完整文本的原因。

【讨论】:

以上是关于当 pickerView 出现时 UITextField 中的文本向左移动的主要内容,如果未能解决你的问题,请参考以下文章

当scrollview userInteraction Disabled时pickerview隐藏

从数组中检索索引,使用该索引在pickerview中选择一行

如何从两个中清除一个pickerView?

xcode11 如何在 PickerView 中为选定选项提供操作。这样当我在所选数组中选择一个选项时,我可以对其执行操作

当键盘出现在swift中时滚动UITextView

关闭键盘无法与 PickerView 一起使用