注意:有两个类似的SO问题(1) (2),但它们都没有提供答案.
TL; DR:如何通过让用户触摸视图中的任何空白区域来解除MonoTouch.Dialog中的键盘?
我正在使用MonoTouch.Dialog和UITabBarController编写应用程序.我的一个标签是"设置"......

当用户开始输入时,键盘会阻碍标签栏...

使用MonoTouch.Dialog,解除键盘的唯一方法是转到最后一个字段并按"返回"键.考虑到用户在键盘消失之前无法按任何标签这一事实,我想要一个更好的方法来做到这一点.即,如果用户点击屏幕上的任何其他位置,则关闭.
没有MonoTouch.Dialog,它很简单:只需覆盖TouchesBegan并调用EndEditing.但这不适用于MT.D. 我已经尝试了子类化DialogViewController并覆盖那里的TouchesBegan,但它不起作用.我现在不知所措.
或者,我想知道,放弃标签栏会更好吗,所以我可以使用顶部带有"后退"按钮的UINavigationController,它不会被键盘隐藏?
我正在尝试使用OpenGL ES 2在3D环境中渲染2D(平面)精灵.我创建每个精灵的方式非常标准:我创建一个由两个三角形组成的四边形,然后将纹理映射到它上面.一切都很好,除了我注意到一些奇怪的东西:当打开深度测试(它应该在3D模式下)时,我的精灵的角落是用背景颜色绘制的.
显示这个的最简单方法是通过插图:
当我关闭深度测试时(在左侧)它看起来很好,但当我打开它(在右边)时,你可以看到绿色精灵的矩形重叠在黄色精灵的顶部.它们都使用相同的代码,相同的PNG文件,相同的着色器.除深度测试外,一切都是一样的.
我希望有人可能知道解决这个问题的方法.