【问题标题】:Find where is exactly an element with swift用 swift 找到一个元素在哪里
【发布时间】:2016-10-26 20:42:17
【问题描述】:

我想在我的静态文本字段下动态生成文本字段。

假设我的文本字段位于该位置: x:50 y:374 宽度:220 高度:30

我用那个代码来看看它会返回什么:

print(mytextfield.center.y) // 500
print(mytextfield.frame.origin.y) // 0.0

(我用的是swift 3)

都错了。

任何想法我哪里错了?

提前致谢

【问题讨论】:

  • 您很可能在谈论不同的坐标系。你从哪里得到这个框架:(x:50 y:374 宽度:220 高度:30)?
  • 来自故事板的@alexburtnik。
  • 您能否将您的视图层次结构的屏幕截图添加到问题中?只需打开情节提要,按 cmd+shift+4 并选择您的视图层次结构。
  • 我该怎么做?
  • 最好以编程方式向新文本字段添加约束,而不是依赖现有文本字段的框架

标签: ios position cgrect


【解决方案1】:

您可能是从viewDidLoad 打印,此时视图还没有布局,您需要在viewWillAppearviewDidLayoutSubview 打印,然后才能得到正确的帧

【讨论】:

  • 我都测试了,viewDidLayoutSubview 工作!谢谢
  • @mikevorisis 如果您使用它们来添加子视图然后只需在viewDidLoad 中创建并添加子视图,然后在其他函数中更改它的框架,注意viewDidLayoutSubview 会调用多次所以不要在那里创造任何东西
  • 我注意到了,如果 flag1 == 0 { ypos = mytextfield.frame.origin.y flag1 = 1 } 我这样做了
猜你喜欢
  • 1970-01-01
  • 2021-10-08
  • 2017-04-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-11-11
  • 2021-02-04
  • 1970-01-01
相关资源
最近更新 更多