swift - UIView 中的自定义 View 的触摸检测问题,而不是 UIScrollView

标签 swift uiview uitextfield gesture-recognition

我在谷歌上搜索了一段时间,发现了类似的问题,但是当自定义 View 位于 ScrollView 内部时,但这不是我的情况。

我有一个自定义 View ,其中包含 UITextField 后面的 UILabel,因此我可以稍后为该标签设置动画。

问题是,当我在 ViewController 和身份检查器中添加 View 时,我将类设置为自定义类,当我使用应用程序时,自定义 View 中的 UITextField 无法很好地接收触摸,并且需要时间获得焦点并因此打开键盘。奇怪的是,如果我将相同的 View 排列移动到 Storyboard 中的主 ViewController 中,一切都会正常工作。为什么当我使用描述的方法放置它时它没有这样做?

我计划多次重用这个自定义 View ,因此将逻辑和 View 放入每个 ViewController 中并不是一种选择。

提前致谢

最佳答案

嗯,问题出在容器 UIView 的约束上。这意味着,我的主 ViewController 中的 UIView。 UIView 的高度比我的自定义 View 所需的空间小一点,因此虽然我的自定义 View 似乎正确绘制,但它没有正确接收手势。解决方案只是将高度增加到我的自定义 View 占用的正确值。非常感谢!

关于swift - UIView 中的自定义 View 的触摸检测问题,而不是 UIScrollView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52997158/

相关文章:

swift - 在 Swift 中将 dd-MM-yy 转换为日期

swift - 在 Swift 的另一个 UIView 中使用一个 UIView 作为掩码

ios - Objective-C - 有没有办法将 UIView 属性作为数组?

ios - UIView 透明度会影响应用程序的性能吗?

ios UITextField 使用 uidatepicker 进行编辑

ios - 如何读取特征值?

ios - 快速下载 url 并填充 uiimageview

Swift 镜像反射不返回 UIVIew 上的属性

ios - 如果用户在返回键盘之前按下按钮,如何将按钮的操作应用于文本字段

iphone - 以编程方式更改 UITextField 键盘类型