获取UIView的高度

13

我在获取UIView的高度方面遇到了困难。我试图获取UIView的高度以及其(x,y)坐标。该视图作为另一个视图的子视图添加。

float y = optionalView.frame.size.height;
    NSLog(@"%.1f",y);

但是它总是返回0.0。需要指导。

谢谢...


使用IB,我已经添加了UIView。 - Maulik
你能发一下初始化UIView的代码吗?如果optionalView是一个UIView(不是UIViewController,也许?)并且在调用它时它是一个正确可见的指针...你的代码应该可以正常工作... - meronix
那么它可能与您的指针链接不好...您能获取optionalView的其他属性吗?...alpha,hidden?您发送的这2行代码是正确的,问题出在其他地方... - meronix
问题已解决。重新启动XCode后。 - Maulik
哈哈...让我猜猜:你在IB中链接了它,但没有“保存”它,是吗? - meronix
你也注意到了,如果写NSLog(@"%d fgd",optionalView.frame.origin.x);它不会打印出值,但是如果我写int x = optionalView.frame.origin.x; NSLog(@"%d",x);它就会打印出值!!! - Maulik
3个回答

12

如果你想要记录它

NSLog(@"My view's frame is: %@", NSStringFromCGRect(myView.frame));

12

你试过这个 @Maulik 吗?

CGFloat width = CGRectGetWidth(self.view.bounds);
CGFloat height = CGRectGetHeight(self.view.bounds);

这对于UIView无效,但对于UIViewController有效,因此这不是问题的答案。 - Krystian

6
然而,如果这个类本身就是UIView,则只需:
CGFloat height = self.bounds.size.height

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接