Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift UILabel获取帧宽度或高度_Swift_Cgrect_Cgsize - Fatal编程技术网

Swift UILabel获取帧宽度或高度

Swift UILabel获取帧宽度或高度,swift,cgrect,cgsize,Swift,Cgrect,Cgsize,我搜索了很多次,但仍然没有指出,lblAddress.frame.width和lblAddress.frame.size.width之间有什么区别。它给了我相同的输出。我不知道什么时候用哪一个 请给我举个例子,这样我就可以弄清楚整件事。它们(几乎)是一样的。 一个是,另一个是 唯一的区别是frame.width将始终返回正值,因为frame.size.width在某些情况下可能返回负值 如果我只关心标准几何图形,我会直接使用缩写frame.width。它们(几乎)是一样的。 一个是,另一个是 唯

我搜索了很多次,但仍然没有指出,
lblAddress.frame.width
lblAddress.frame.size.width
之间有什么区别。它给了我相同的输出。我不知道什么时候用哪一个

请给我举个例子,这样我就可以弄清楚整件事。

它们(几乎)是一样的。 一个是,另一个是

唯一的区别是
frame.width
将始终返回正值,因为
frame.size.width
在某些情况下可能返回负值

如果我只关心标准几何图形,我会直接使用缩写
frame.width

它们(几乎)是一样的。 一个是,另一个是

唯一的区别是
frame.width
将始终返回正值,因为
frame.size.width
在某些情况下可能返回负值


如果我只关心标准几何图形,我会直接使用缩写
frame.width

frame和size都有width属性。您可能会感到困惑,因为尺寸也是框架的一个属性。这就像我问你我穿什么颜色的鞋,但下一刻问我脚穿什么颜色的鞋,我问的是同一件事,我可能会方便地问一种或另一种,取决于我的情况。

框架和尺寸都有宽度属性。您可能会感到困惑,因为尺寸也是框架的一个属性。就像我问你我穿的是什么颜色的鞋子,但下一刻问我的脚穿的是什么颜色的鞋子,我也在问同样的问题,也许我可以根据我的情况用一种或另一种方式问它。

你想用这个代码找到原点吗 这里ViewSend是视图的出口

`lblAddress.frame.width`
`lblAddress.frame.size.width`
你想找到hight所以用这个代码

self.ViewSend.frame.origin.y
self.ViewSend.frame.size.height
您想要查找宽度,所以请使用此代码

self.ViewSend.frame.origin.y
self.ViewSend.frame.size.height

您想使用此代码查找原点 这里ViewSend是视图的出口

`lblAddress.frame.width`
`lblAddress.frame.size.width`
你想找到hight所以用这个代码

self.ViewSend.frame.origin.y
self.ViewSend.frame.size.height
您想要查找宽度,所以请使用此代码

self.ViewSend.frame.origin.y
self.ViewSend.frame.size.height

它们几乎是一样的;但是,
fram.width
是一个只能获取的值,但是
frame.size.width
可以用来设置或获取值

它们几乎相同;但是,
fram.width
是一个只能获取的值,但是
frame.size.width
可以用于设置或获取值

要了解更多信息,您可以查看CGRect结构是如何构造的

self.ViewSend.frame.size.width
为了增加一些额外的功能,苹果还提供了CGRect的扩展,如下所示

struct CGRect {
  var origin: CGPoint
  var size: CGSize
}
现在回答你的问题。 lblAddress.frame将返回CGRect

extension CGRect {

    @available(iOS 2.0, *)
    public var height: CGFloat { get }

    @available(iOS 2.0, *)
    public var width: CGFloat { get }
}

要了解更多信息,您可以查看CGRect结构是如何构造的

self.ViewSend.frame.size.width
为了增加一些额外的功能,苹果还提供了CGRect的扩展,如下所示

struct CGRect {
  var origin: CGPoint
  var size: CGSize
}
现在回答你的问题。 lblAddress.frame将返回CGRect

extension CGRect {

    @available(iOS 2.0, *)
    public var height: CGFloat { get }

    @available(iOS 2.0, *)
    public var width: CGFloat { get }
}