Apple使用Xcode和Swift编写iOS应用程序的FoodTracker教程涉及文本字段和图像选择器。用户可以在文本字段中输入文本,并让应用程序在标签中显示该文本。另外,当应用程序的用户点击应用程序显示的图像时,会创建一个图像选择器,让用户选择不同的图像并让应用程序显示该图像。
根据教程,当用户点击图像时调用的函数需要调用文本字段的resignFirstResponder函数,以便摆脱使用文本字段时显示的键盘,但是我我发现事实并非如此。我可以注释掉对resignFirstResponder的调用,键盘仍然消失了。此外,如果我开始在应用程序中使用文本字段,然后点击图像以显示图像选择器,则无论图像选择器的代码是否在文本字段上调用resignFirstResponder,都会调用文本字段的textFieldDidEndEditing函数。
有人可以对这种情况有所了解吗?就个人而言,我认为图像选择器代码不必担心文本字段是有道理的,但Apple的教程声称不然。这是指向调用resignFirstResponder的教程部分的链接。如果你只是搜索“resignFirstResponder”,你会很快看到它。 https://developer.apple.com/library/prerelease/ios/referencelibrary/GettingStarted/DevelopiOSAppsSwift/Lesson4.html
答案 0 :(得分:0)
你是对的。通过呈现新的视图控制器,文本字段不再在前面,因此它不再是第一响应者。但问题是它不能确定它是否有效,然后调用.resignFirstResponer。所以更重要的是要确保它能够运作。