确定Swift中UIView的宽度

时间:2016-09-01 10:34:11

标签: swift uiview

我有一个autolayouted UIView,需要知道它的宽度。如何在Swift中找到宽度最简单的方法?

3 个答案:

答案 0 :(得分:4)

您可以通过

找到任何视图的宽度
public function addslashes_recursive($data)
{
    if (is_array($data)) {
        return array_map('addslashes', $data);
    } else {
        return addslashes($data);
    }
}

如果您已对视图应用了宽度约束,并且您有该约束的出口,那么您可以通过它找到它。

 let width = yourView.bounds.width

答案 1 :(得分:0)

获取UIScreen帧数据的正确位置在viewDidLayoutSubviews,因为在subViews已在屏幕中布局后调用它也会在每次设备更改方向(例如您的方向)后调用当您的用户进入横向模式时,宽度会有所不同。这是在viewWillAppear之后调用的:

override func viewDidLayoutSubviews() {
    super.viewDidLayoutSubviews()

    let viewWidth = self.myView.bounds.width

  }

答案 2 :(得分:-1)

在内部实施您的视图,您可以使用

override func layoutSubviews() {
    super.layoutSubviews()
    // you can get width of view in this function
    print(self.frame.size.width)
}