Ios 尝试复制UIView的帧以负偏移结束
我正在摆弄Interface Builder,遇到了这个令人沮丧的偏移问题: 我创建了一个视图,其中包含一些子视图层次:Ios 尝试复制UIView的帧以负偏移结束,ios,objective-c,uiview,interface-builder,Ios,Objective C,Uiview,Interface Builder,我正在摆弄Interface Builder,遇到了这个令人沮丧的偏移问题: 我创建了一个视图,其中包含一些子视图层次: [parent view] |--> (dummy backround) |--> (a template UIView) 模板在那里,因此设计师应该能够调整规划的更复杂视图的坐标。我想将坐标复制到程序创建的视图中。我就是这么做的: UIView *theView = [[UIView alloc] initWithFrame:pagesB
[parent view]
|--> (dummy backround)
|--> (a template UIView)
模板在那里,因此设计师应该能够调整规划的更复杂视图的坐标。我想将坐标复制到程序创建的视图中。我就是这么做的:
UIView *theView = [[UIView alloc] initWithFrame:pagesBounds.frame];
theView.backgroundColor = [UIColor grayColor];
[self.view addSubview:theView]; // self.view is the parent view from above
到目前为止还不错,但我在视图的左下角看到了一个负偏移:
我的目标是,通过编程创建的视图(深灰色的视图)应该将自身定位在模板视图(白色视图)的正上方。我已经浏览了IB中的视图,并确保所有视图的“自动调整子视图大小”都处于禁用状态(尽管实际视图会添加到最顶部)
很明显,我还缺少一些东西。建议?发生偏移的原因是,当您获得“模板UIView”的帧时,它是根据“虚拟背景”的坐标来描述的。要正确定位,您应该执行以下操作:
UIView *theView = [[UIView alloc] initWithFrame:CGRectOffset(pagesBounds.frame, dummyBackground.frame.origin.x, dummyBackground.frame.origin.y)];
theView.backgroundColor = [UIColor grayColor];
[self.view addSubview:theView]; // self.view is the parent view from above
复制帧的视图是否与复制帧的视图具有相同的超级视图?噢!现在我觉得自己很愚蠢。就这样。