0

我有这个代码:

_width.text = NSStringFromCGRect(_screen.frame);

它在我的 iPod 5 上给了我:

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

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

谢谢你。

4

4 回答 4

6

我猜你想要 a CGFloat,而不是 aNSString如果你想计算其他组件。

CGFloat height = _screen.frame.size.height;

或者,如果您毕竟想要一个字符串:

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

frame属性UIView是一个CGRect结构。要了解相关信息,CGRect请查看文档

于 2013-09-16T12:06:59.230 回答
2

我会鼓励你使用 CGGeometry 检查文档,在你的情况下使用CGRectGetHeight()

CGFloat height = CGRectGetHeight(_screen.frame);
于 2013-09-18T12:46:26.437 回答
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 坐标 Like this Like this...

CGFloat y = _screen.frame.origin.y;
于 2013-09-16T12:05:43.927 回答
1

_screen.frame 是一个带有 aCGSize和 a的结构体CGPoint

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 字符串的消息%

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;
于 2013-09-16T12:11:18.090 回答