当superview是setframe时ScrollView偏移?! (苹果手机)

时间:2011-07-22 06:35:40

标签: iphone xcode uiscrollview

所以我在该视图中有一个View和一个滚动视图。我打电话给

[View setFrame:CGRectMake(55,70,260,420)];

我放了一个

NSLog(@"%f %f",scrollview.frame.origin.x, scrollview.frame.origin.y);

在setFrame之前和之后它读取6,112然后是6,172。 112是正确的,我不知道60来自哪里。我在我的实现文件中搜索了60,并且没有什么可以影响y。当该视图中有视图时,是否有一些规则来执行setframe?

由于

2 个答案:

答案 0 :(得分:0)

如果您查看UIView引用,frame属性说明

  

frame

     

框架矩形,用于描述视图的位置和大小   它的superview的坐标系。    @property(nonatomic) CGRect frame

     

<强>讨论

     

此矩形定义视图的大小和位置   superview的坐标系。您在布局期间使用此矩形   操作以调整视图的大小和位置。设置此属性   更改中心属性指定的点和中的大小   相应地限制矩形。框架矩形的坐标   总是以点数指定。

所以我想当你NSLog用于scrollview的帧时,它会根据superview的坐标显示出来。第二个NSLog显示不同,因为superview的坐标系已经改变。

答案 1 :(得分:0)

我通过在代码中创建scrollview而不是通过XIB来修复它。 scrollview是在父视图的setFrame和addSubView之后创建的