UIView frame.size.width等于零?

时间:2011-07-04 00:25:08

标签: objective-c cocoa-touch uiview subclass

我创建了UIView的子类,在子类中我尝试访问视图的width属性。我试着像这样得到宽度,

CGFloat width = self.frame.size.width;
NSLog(@"Width: %f", width);

然而由于某种原因,我得到的宽度等于0.000000

当我创建视图时,我正在使用CGRectMake()函数设置frame属性,并且视图显示正确显示,为什么width属性将返回零?

3 个答案:

答案 0 :(得分:2)

如果您是UIPickerView的子类,无论您设置哪个帧,宽度和高度都是320,216(纵向)。
确保代码中的self指向选择器。

答案 1 :(得分:0)

尝试 CGFloat width = self.view.frame.size.width;

答案 2 :(得分:0)

你试过这个@cgossain吗?

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