在这里快速菜鸟...
很难调用我的UITextView
委托方法。我浏览了许多其他问题,无济于事。
我在UITextView
中设置了ViewConroller
。看起来像这样:
在UIImageView
的正上方有一个UITextView
,并且所有内容都包裹在导航控制器中,应该没什么大不了的。
我确保将视图从情节提要板连接到我的ViewController
:
从情节提要中,我按CTRL +拖动类声明下面的UITextView
。这将产生以下行:
@IBOutlet weak var Description: UITextView!
类声明:
class ImageTextViewController: UIViewController, UITextViewDelegate, UIImagePickerControllerDelegate, UINavigationControllerDelegate {
(我的NavigationController
和UIImageView
需要其他代表)
然后我这样声明委托:
override func viewDidLoad() {
super.viewDidLoad()
self.Description.delegate = self
现在,当我完成编辑UITextView
时,应调用以下委托方法。但是由于某种原因,它没有开火!
private func textViewDidEndEditing(_ textView: UITextView) -> Bool{
print("we are done editing")
spotDescription.resignFirstResponder()
return true
}
如何让UITextView
正常启动?
答案 0 :(得分:3)
textViewDidEndEditing方法没有返回值。您必须编写
func textViewDidEndEditing(_ textView: UITextView) {
print("we are done editing")
}
答案 1 :(得分:2)
杰克是对的。
在标题为Storyboard Connection
的图像中,您的viewController似乎标题为TextImageViewController
,而在类声明示例中,标题为ImageTextViewController
。
情节提要中的ViewController和ViewController应该都相同。
Андрей也正确。 TextViewDidEndEditing方法没有返回值。
lindanordstrom也有一个优点: TextViewDidEndEditing不应为私有。
编码愉快!