我目前正在使用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位置?
答案 0 :(得分:0)
计算似乎是正确的。我认为您正在将表视图添加到错误的视图中(可能是滚动视图,从问题标题中假设)。
| - UIView
| - UIScrollView
| --- UIView
| ---- UIView - > 在此处添加表格视图!
| ----- UIImageView
| ----- UITextField
我的经验:我不确定你是否需要这个,但我最近不得不实施类似的弹出式控制。每当我必须添加这个子视图时,我还必须调用superView的layoutIfNeeded。我是用团队做的。另请注意,superView的layoutSubViews应具有在添加表后重新计算其高度的逻辑。否则,该表出现但不可互动(至少在我的情况下)