- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
问题
在 UITextFieldDelegate 的 textField:shouldChangeCharactersInRange:replacementString
中,我们得到了 tf.text
中的原始文本、替换字符串和范围。
这些信息足以计算目标字符串(如果我们不拦截,TextField 将包含的内容),但我无法编译此代码:
func textField(
tf: UITextField,
shouldChangeCharactersInRange range: NSRange,
replacementString str: String
) -> Bool
{
var tgt = String( tf.text )
tgt.replaceRange( range.toRange(), with: str ) // PROBLEM HERE
NSLog( "realtime: %@", tgt )
return true
}
我似乎遇到的问题是,字符串的 replaceRange:with:
需要一个字符,而不是一个字符串。
也许有更好或更简单的方法来计算 tgt?
最佳答案
如果您使用 NSString
的方法,您可以做到这一点。更改方法的第一行以声明 NSMutableString
而不是 String
:
func textField(tf: UITextField, shouldChangeCharactersInRange range: NSRange,
replacementString str: String) -> Bool {
var tgt = NSMutableString()
tgt.appendString( tf.text )
tgt.replaceCharactersInRange( range, withString: str )
NSLog( "realtime: %@", tgt )
return true
}
(问题源于 NSRange
和内置的 Swift Range
实例不兼容字符串。)
关于string - 如何计算 UITextFieldDelegate 方法中的目标字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26185167/
我很好奇如何使类符合 UITextFieldDelegate,过去我总是添加它以允许访问协议(protocol)中定义的方法。然而,最后一次我忘记添加它,后来才意识到它丢失了。我的问题是为什么它可以在
提供以下派生类: #import @interface NumberPadViewController : UIViewController { UIImage *numberPadDone
这是一个奇怪的问题,但我对如何解决这个问题感到困惑 - 我有一个具有自定义 UITableViewCells 的 UITableView 。每个 UITableViewCell 都有两个 UIText
我在 textfield 和使用 Storyboard行编码的代码之间建立了联系。当我这样做时,我忘记先把 UITextFieldDelegate 放在上面。当我尝试使用 eventTitle.tex
当我从 UITextField 字段中逐一删除字符时,委托(delegate)方法 textField:shouldChangeCharactersInRange:replacementString:
我想使用 https://github.com/intuit/AnimatedFormFieldTableViewCell在我的项目中,但我无法理解设置它的步骤。到目前为止,我已经从文件夹中拖出文件并
我有以下代码来防止用户在 UITextField 中输入多个句点 .,它工作正常,但我想对其他人做同样的事情两个 textField,如何做到这一点? 我尝试将 delegate 分配给多个字段,但它
我想实现 UITextFieldDelegate在与 UIViewController 分开的一个类中但是当我这样做时,我得到一个 EXC_BAD_ACCESS运行时异常。 那么为什么这样做: cla
我有一个UITextField我想使用正则表达式。我想使用 - (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRan
我正在使用 iOS 5 并尝试将 TextField 与 UITextFieldDelegate 一起使用,它的工作方式与我想要的完全一样(但只是在第一个 View 中)。我不明白,为什么它在下一个
我对 swift 还很陌生,我无法理解以下情况。我正在尝试使用几个 UITextFieldDelegate 函数扩展 UIViewController 类... class ViewControlle
有没有一种方法可以检测 -[UITextFieldDelegate textFieldShouldReturn] 是由用户按下键盘上的“完成”键(或等效键)调用的,还是由程序调用调用的到 -[UITe
我和我的同事更喜欢用不同的方法来解决一项小任务。我们想知道社区的意见。 我们必须在编辑过程中处理 UITextField 的文本。 (文本应显示在 View 的标题中) 两种最简单的方法是: 1.注册
我在处理 UITextField 委托(delegate)时遇到这个错误: 找不到支持键盘 Wildcat-Landscape-QWERTY-Pad 类型 8 的键盘;使用 3673479387_Wi
我刚刚开始熟悉使用 XCTestCase 编写测试并探索其功能。我有一个简单的(如果设计的)应用程序,它加载一个带有按钮和文本字段的屏幕。选择文本字段时, View Controller 填充文本字段
在模拟器中选择文本字段时发生崩溃。调试器似乎没有告诉我任何有用的信息。 import UIKit class TextField: NSObject, UITextFieldDelegate {} 在
问题 在 UITextFieldDelegate 的 textField:shouldChangeCharactersInRange:replacementString 中,我们得到了 tf.text
我有 SequencedTextFields 协议(protocol),它包含文本字段序列。当用户点击键盘上的 Return 按钮时,当前文本字段应退出第一响应者,序列中的下一个文本字段应成为第一响应
我尝试在 UITextFieldDelegate 的函数中做一些检查,但我真的被卡住了。在一项检查中,我想验证用户是否尝试在 UITextfield 的前面插入空格并且不允许他这样做。在另一项检查中,
看来我对 UITextFieldDelegate 有问题。 我刚刚创建了一个响应 UITextFieldDelegate 协议(protocol)的 View Controller ,并轻松地将字段添
我是一名优秀的程序员,十分优秀!