我通過Storyboard創建了一個容器視圖,並在其中放置了UITextField。 我可以直接從根視圖控制器訪問UITableViewController並設置它的屬性,即containerController?.containerTextField.becomeFirstResponder()
。我也可以在根UIViewController中實現容器視圖控制器的協議,但仍然不能強制使用位於UIContainerView中的UITextField來觸發UITextFieldDelegate協議方法。如何訪問位於容器子視圖中的UITextFiled的UITextFieldDelegate方法?
這是容器視圖控制器代碼的一部分:
class ContainerViewController: UIViewController, UITextFieldDelegate {
var aContainerDelegate = ContainerDelegate?()
@IBOutlet weak var containerTextField: UITextField!
(...)
func textFieldShouldBeginEditing(textField: UITextField) -> Bool {
print("textFieldShouldBeginEditing")
textField.returnKeyType = UIReturnKeyType.Done
return true
}
func textFieldShouldReturn(textField: UITextField) -> Bool {
print("textFieldShouldReturn")
return true
}
}
我有和沒有在根視圖控制器UITextFieldDelegate聲明試圖 - 它不改變任何東西。 請告訴我,如何訪問位於容器子視圖中的UITextFiled的UITextFieldDelegate方法? 在此先感謝!