- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我想我可能在做一些愚蠢的事情,但我还是要问这个问题。我看不到正在调用 UITextFieldDelegate 方法 textField。我创建了一个带有打印语句的简单程序,显示所有其他委托(delegate)方法都可以调用,但这个不行。这是程序代码:
import UIKit
class ViewController: UIViewController, UITextFieldDelegate {
//MARK: Properties
@IBOutlet weak var testTextField: UITextField!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
testTextField.delegate = self
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
//MARK: UITextFieldDelegate
func textFieldShouldReturn(textField: UITextField) -> Bool {
print("textFieldShouldReturn")
textField.resignFirstResponder()
return true
}
func textFieldShouldBeginEditing(textField: UITextField) -> Bool {
print("textFieldShouldBeginEditing")
return true
}
func textFieldDidBeginEditing(textField: UITextField) {
print("textFieldDidBeginEditing")
print("Leaving textFieldDidBeginEditing")
}
func textField(textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
print("textField")
print("Leaving textField")
return true
}
func textFieldDidEndEditing(textField: UITextField) {
print("textFieldDidEndEditing")
print("textField = \(textField.text)")
print("Leaving textFieldDidEndEditing")
}
}
就是这样。我有一个 ViewController,在 Interface Builder 中添加了一个 UITextField。输入文本显示其他委托(delegate)方法被调用正常。我正在使用 Xcode 7.3.1。如果这是一个愚蠢的问题 - 我希望这是一个愚蠢的问题,那么任何帮助都非常感谢并预先道歉。
最佳答案
我认为您遇到的问题是因为函数中的拼写错误。
这是你正在使用的:
func textField(textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {...}
函数应该是这样的:
func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool {...}
关于swift - 未调用 UITextFieldDelegate 的 textField 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39660151/
我很好奇如何使类符合 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 ,并轻松地将字段添
我是一名优秀的程序员,十分优秀!