所以我创建了一个视图控制器,它创建了一个自定义视图,如果它包含两个元素,则在它们之间创建一条线。一个分隔符。
视图及其元素在 Interface Builder 中创建,并在那里设置它们的位置。
我要做的是读取子元素原点坐标和宽度/高度,以便我可以动态地在它们之间绘制分隔符。
我尝试过使用NSArray self.subviews
并尝试使用方法convertRect
和convertPoint
在NSView
方法。
有谁知道我该怎么做?
所有帮助将不胜感激。
所以我创建了一个视图控制器,它创建了一个自定义视图,如果它包含两个元素,则在它们之间创建一条线。一个分隔符。
视图及其元素在 Interface Builder 中创建,并在那里设置它们的位置。
我要做的是读取子元素原点坐标和宽度/高度,以便我可以动态地在它们之间绘制分隔符。
我尝试过使用NSArray self.subviews
并尝试使用方法convertRect
和convertPoint
在NSView
方法。
有谁知道我该怎么做?
所有帮助将不胜感激。
这是一个相当有趣的请求,但我认为这应该工作得很好。这假设子视图是左/右,如果您需要上/下,则将 >= 反转为 <= 并比较 y 而不是 x。
-(void)example {
if (self.view.subviews.count ==2) {
CGPoint origin1 = [self.view.subviews objectAtIndex:0].frame.origin;
CGPoint origin2 = [self.view.subviews objectAtIndex1].frame.origin;
if (origin1.x >= origin2.x)
[[self.view.subviews objectAtIndex:0]setFrame:someFrameOnTheLeft];
[[self.view.subviews objectAtIndex:0]setFrame:someFrameOnTheRight];
}
}
将出口链接到 xib 中的每个子视图 在情节提要中查看此访问视图
致电您的网点upperView
,然后lowerView
现在获取视图的来源
float x = upperView.frame.origin.x;
float y = upperView.frame.origin.y;