问题标签 [uitextfielddelegate]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
203 浏览

iphone - 如何确定 UITextField 中删除的位置

我正在创建一个允许用户输入日期的文本字段,并且我想显示所需的格式:mm-dd-yyyy. 当他们键入时,它应该用他们键入的数字替换格式。例如,如果他们输入125,它应该看起来像:12-5d-yyyy

我已经能够得到这个工作(使用textField:shouldChangeCharactersInRange:replacementString:方法)。但是有2个问题:

  1. 当我更新文本字段以显示格式以及他们输入的内容(通过直接设置textField.text)时,光标会移动到插入文本的末尾。例如,它目前看起来像:(光标12-30-yyyy|在哪里|),但我希望它看起来像12-30-|yyyy. 那么如何将光标放在他们最后一次输入的位置呢?

  2. 如果用户按退格键或删除,我无法确定删除发生的位置。我知道确定他们按下退格键或删除的唯一方法是这样的:(BOOL thisIsBackspace = ([string length] == 0)其中 string 是 的值replacementString:。但这并没有告诉我它发生在哪里。 那么我如何确定 UITextField 中的删除发生在哪里?

0 投票
1 回答
3787 浏览

ios - 触发 UITextField 时同步向上滑动 UIView 并调整 UITableView 的大小

当该字段被触发时,我会调整 a 的大小UITableView并向上滑动UIView包含 a 的 a 。UITextField这是两个简单的模型:

在此处输入图像描述 在此处输入图像描述

现在我有这个代码:

问题是键盘上滑动画和上myView滑动画不同步。如何让这两个动画完美同步?

以及如何UITableView在键盘可见时调整大小并在键盘隐藏时返回原始高度?

0 投票
4 回答
2310 浏览

iphone - 哪个 UITextField 委托方法将被调用而无需重新设置键盘?

我处于用户在没有退出键盘的情况下将数据输入 UITextField 的情况下,他按下 Next 按钮转到下一页。

That textfield is in custom cell with UITextView. 现在我想在用户输入时捕获该 UITableView 的每个文本字段和 UITextView 中的所有内容,因为在单击 Next 按钮时我需要保存数据。

到目前为止,我已经实现了以下方法,但是当用户将数据输入 TextField 并直接按 Next 按钮而不返回键盘时,这些方法都没有被调用

在 Next 之前从 TextFields 中保存的最佳方法是什么?

0 投票
1 回答
3407 浏览

ios - IOS textFieldDidChange 在其他类中的出口时

在访问不同班级的插座时,我遇到了一个特定的 iOS 问题。

在我的项目中,我有一个带有自定义 tableViewCells 的 UItableView,它是我使用界面生成器创建的。这些单元格上有 UItextfields,我需要知道某个文本字段的值何时更改。(所以我可以添加一个带有文本字段的新空单元格,就像在您的地址簿中一样)我遇到了以下功能

问题是当文本字段的出口在子类(特定的tableViewCell类)中时,我在主类中使用了这个函数。

我创建了一个插座方法,以便我可以在主类中访问它。但仍然是上面的代码没有触发 textFieldDidChange 事件。

希望有人可以帮助我解决这个问题。或者给我一个不同的解决方案来实现我的目标(在将第一个字符添加到当前 UITextfield 时创建一个新的空文本字段)。

谢谢

0 投票
2 回答
1225 浏览

ios - textFieldDidEndEditing 触发“为时已晚”

我有一个用户正在输入数据的多视图过程,并且我将其保存到模型类属性中的每一步。

textFieldDidEndEditing用来检查输入是否有效,如果有效,则保存输入的数据。

在视图上,我有一个 continueButtonClicked 事件,用于检查是否所有验证都通过,如果是,则加载下一个视图。我没有在这里设置模型的属性,因为我认为我不应该这样做,因为每个字段一次都保存到模型 1 字段中。但是,我注意到了一些问题。

如果用户在文本框内并单击“继续”按钮,则 continueButtonClicked 事件在textFieldDidEndEditing. 最终发生的是下一个视图在保存之前填充了“旧”模型textFieldDidEndEditing

我错过了什么?在 Continue 上设置所有属性是否合适?如果我正在为 Web 编程,我会这样做,但对于本机应用程序来说似乎并不合适。

0 投票
1 回答
3083 浏览

ios - 辞职第一响应者仅在一个文本字段中工作

希望有人可以在这里帮助我。我有一个带有 3 个文本字段的 UIView。我希望键盘上的“返回”键让第一响应者辞职,无论用户光标在哪个文本字段中。我的代码适用于 3 个文本字段中的 2 个,但始终(一如既往)它拒绝先辞职来自第三个文本字段的响应者,我不知道为什么(文本字段相同。不起作用的字段是第三个字段......

如果有帮助,这是代码

这是 H 中的属性声明

这似乎很简单,所以我想知道是否应该进行某种错误检查以确定这里发生了什么。

该文件也被声明为 UITextFieldDelegate ...

感谢您的时间和帮助!

0 投票
2 回答
1385 浏览

iphone - 如果在编辑中更改文本更改 UITextField 崩溃

我写了一个简单的 ios5 应用程序(包括垃圾收集器),它有一个单一的视图,UITextField 我需要分析输入文本,这UITextField 是我的代码。头文件:

editingChanged:跟踪发送事件编辑更改,因此每次用户更改我的某些内容时都会调用此方法UITextField

部分实现文件:

每次用户更改文本时,我们都会使用标准方法UITextField从该文本中删除“abc:”字符串。NSString

问题是:应用程序不稳定。当“abc:”被删除时,它有时会崩溃。请帮帮我。如何解决这个问题呢?

0 投票
7 回答
32731 浏览

iphone - iPhone:UITextField 结束编辑事件不隐藏键盘

我想在UITextField结束编辑事件时隐藏键盘,但不知何故我无法让以下代码工作!当我按下完成按钮时,它会隐藏键盘,但当我不按下完成按钮并移动到另一个UITextField我不需要键盘但UIPickerView. 基本上UIPickerView是出现在键盘后面。我UITextField将在结束编辑事件以及开始编辑所需的文本字段时辞职。如果之前没有显示键盘,则开始编辑代码可以正常工作UITextField。有人可以告诉我我做错了什么吗?

以下顺序有效:

  1. 选择正常UITextField并插入文本,按完成按钮(这会隐藏键盘)
  2. 选择选择器UITextField(显示选择器视图)

..但以下没有:

  1. 选择正常UITextField并插入文本
  2. 选择选择器UITextField(选择器视图位于键盘后面,因为我没有按上一个完成按钮UITextField)。这里它调用结束编辑,但它不隐藏键盘!

    /li>
0 投票
1 回答
2417 浏览

uitextfield - 选项卡键(键盘)操作的 TextField becomeFirstResponder 问题

我在 XIB 中有一个视图,我在其中使用了几个文本字段。假设一旦视图加载到窗口中,第一个文本字段就会成为第一响应者。如果我在机器键盘上按 Tab 键导航到下一个文本字段;除了直接文本字段外,所有其他文本字段也将成为第一响应者,并且所有文本字段都会调用文本字段开始编辑委托方法。可能是什么问题 ?这不仅会在我们使用机器键盘的模拟器中发生,而且在我们为 iOS 设备使用蓝牙键盘时也会发生。

0 投票
1 回答
208 浏览

ios - 在不同的 UITextField 之间共享验证代码

也许这是一个简单的问题,但我无法找出正确的方法。

我有一个UITextField. 由于我需要验证在此文本字段中插入的文本,我目前正在使用如下UITextFieldDelegate方法- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string

由于我有一些文本字段(它们不属于执行验证的同一控制器)并且我不想复制文本字段验证代码,我怎样才能实现一种集中类似验证的优雅方式?我不知道子类化是否是正确的方法,但在这种情况下,我需要在同一个应用程序的不同部分使用相同的委托方法(上面列出的方法)。

先感谢您。