【发布时间】:2015-12-23 02:29:22
【问题描述】:
尽管有所有“关闭键盘”问题,但似乎没有一个涉及此特定场景的问题。
我正在开发具有以下(简化)层次结构的 ViewController:
- UI 视图
- UIScrollView
- UIStackView
- PLCustomViewOne
- 用户界面按钮
- UITextField
- PLCustomViewTwo
- 用户界面按钮
- UITextField
- PLCustomViewOne
- UIStackView
- UIScrollView
ViewController 是从 XIB 加载的,两个 PLCustomView 也是如此。当用户选择 UIStackViews 包含的任何内容时,我似乎无法看到 endEditing(关闭键盘)的视图。
在视图中添加手势识别器肯定会起作用;但是,这要求层次结构中的每个视图都添加手势识别器,这似乎不太可扩展。这个真实版其实有不少子视图。
我尝试将touchesBegan 中的解除添加到每个自定义视图的 UIView 子类中,但这只会在用户触摸包含 firstResponder 的视图时解除键盘。例如,如果PLCustomViewOne 中的 textField 处于活动状态,则触摸该视图中的其他任何位置都会关闭键盘,但触摸它之外的位置,例如 PLCustomViewTwo,则不会。
【问题讨论】:
-
你试过了吗[self.scrollvoew endEditing];
-
您是否建议在顶级 UIView 中添加
scrollView.endEditing(true)?问题是在顶级 UIView 上,touchesBegan没有被调用。 -
@MichaelVoccola 如果以下答案未能解决您的问题,请提供反馈或其他信息。如果是,请关闭问题。