所以我在该视图中有一个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?
由于
答案 0 :(得分:0)
如果您查看UIView
引用,frame
属性说明
frame
框架矩形,用于描述视图的位置和大小 它的superview的坐标系。
@property(nonatomic) CGRect frame
<强>讨论强>
此矩形定义视图的大小和位置 superview的坐标系。您在布局期间使用此矩形 操作以调整视图的大小和位置。设置此属性 更改中心属性指定的点和中的大小 相应地限制矩形。框架矩形的坐标 总是以点数指定。
所以我想当你NSLog
用于scrollview的帧时,它会根据superview的坐标显示出来。第二个NSLog
显示不同,因为superview的坐标系已经改变。
答案 1 :(得分:0)
我通过在代码中创建scrollview而不是通过XIB来修复它。 scrollview是在父视图的setFrame和addSubView之后创建的