我目前正在研究 UITextField
这使得将暴露一个 UITableView
当根据 UITextField
中的输入填充结果列表时.所以它基本上是一个 autocomplete
功能。
当你在普通的 UIView 中使用它时,一切正常并且绘制得很好,但是一旦我把我的 UITextField
在这样的结构中
|- UIView
|-- UIScrollView
|--- UIView
|---- UIView
|----- UIImageView
|----- UITextField
表格被绘制在错误的位置。这是我计算 TableView 框架的方法:
exposedFrame = CGRect(x: view.frame.minX, y: self.frame.maxY, width: view.frame.width, height: tableHeight)
哪里view
是顶部UIView
和 self
是UITextField
.
因此在这种情况下,Y 位置不正确。 然而,问题是我如何才能在 ScrollView 中获得正确的 y 位置?
最佳答案
计算似乎是正确的。我认为您将表格 View 添加到错误的 View (从问题标题假设可能是 ScrollView )。
|- UIView
|-- UIScrollView
|--- UIView
|---- UIView --> Add table view here!
|----- UIImageView
|----- UITextField
我的经验:我不确定您是否需要这个,但我最近不得不实现一个类似的弹出控件。每当我必须添加这个 subview 时,我还必须调用 superView 的 layoutIfNeeded。我使用委托(delegate)来做到这一点。另外,请注意 superView 的 layoutSubViews 应该具有在添加表格后重新计算其高度的逻辑。否则,表格出现但不可交互(至少在我的情况下)
关于ios - 获取 UIScrollView 中 View 的 y 位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43615262/