获取UIScrollView内部视图的y位置

时间:2017-04-25 15:41:51

标签: ios swift uiscrollview

我目前正在使用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是最高UIViewselfUITextField

因此在这种情况下,Y位置不正确。 但问题是我如何才能在scrollview中获得正确的y位置?

1 个答案:

答案 0 :(得分:0)

计算似乎是正确的。我认为您正在将表视图添加到错误的视图中(可能是滚动视图,从问题标题中假设)。

  

| - UIView

     

| - UIScrollView

     

| --- UIView

     

| ---- UIView - > 在此处添加表格视图!

     

| ----- UIImageView

     

| ----- UITextField

我的经验:我不确定你是否需要这个,但我最近不得不实施类似的弹出式控制。每当我必须添加这个子视图时,我还必须调用superView的layoutIfNeeded。我是用团队做的。另请注意,superView的layoutSubViews应具有在添加表后重新计算其高度的逻辑。否则,该表出现但不可互动(至少在我的情况下)