如何获得UIView高度?

时间:2013-09-16 12:03:30

标签: objective-c

我有这段代码:

_width.text = NSStringFromCGRect(_screen.frame);

它让我在我的iPod 5上:

{{0,20}, {320,548}}

如何只获取高度值= 548,以便我可以用它来计算另一个组件。

谢谢。

4 个答案:

答案 0 :(得分:6)

如果您想要计算其他组件,我想您想要CGFloat,而不是NSString

CGFloat height = _screen.frame.size.height;

或者如果你想要一个字符串:

 _width.text = [NSString stringWithFormat:@"%f", _screen.frame.size.height];

frame的{​​{1}}属性是UIView结构。要了解CGRect,请查看the documentation

答案 1 :(得分:2)

我建议您使用CGGeometry检查documentation,在您的情况下使用CGRectGetHeight()

CGFloat height = CGRectGetHeight(_screen.frame);

答案 2 :(得分:1)

尝试使用这样......

你可以像这样得到......

CGFloat height = _screen.frame.size.height;
_width.text = [NSString stringWithFormat:@"%f",height];

你可以像这样获得宽度......

CGFloat width = _screen.frame.size.width;
_width.text = [NSString stringWithFormat:@"%f",width];

你可以得到x坐标像这样......

CGFloat x = _screen.frame.origin.x;

你可以得到y坐标像这样......

CGFloat y = _screen.frame.origin.y;

答案 3 :(得分:1)

_screen.frame是一个包含CGSizeCGPoint的结构。

CGPoint origin = _screen.frame.origin;
CGSize size = _screen.frame.size;

结构CGPoint包含成员xy

CGFloat x = origin.x; // float on 32bit and double on 64bit
CGFloat y = origin.y;

结构CGSize包含成员widthheight

CGFloat width = size.width;
CGFloat height = size.height;

您可以使用格式说明符NSString

打印格式为%或C-String的邮件
NSString *output = [NSString stringWithFormat:@"My screen height is: %f", height];

如果要将高度显示为543而不是543.0,请使用NSString创建方法中的浮点字符串说明符

NSString *string = [NSString stringWithFormat:@"Integer height is: %.0f", height];
// even with values like 0.9999 the output would be "Integer height is: 0"

如果属性_width.text是NSString

_width.text = output;