0

所以我创建了一个视图控制器,它创建了一个自定义视图,如果它包含两个元素,则在它们之间创建一条线。一个分隔符。

视图及其元素在 Interface Builder 中创建,并在那里设置它们的位置。

我要做的是读取子元素原点坐标和宽度/高度,以便我可以动态地在它们之间绘制分隔符。

我尝试过使用NSArray self.subviews并尝试使用方法convertRectconvertPointNSView方法。

有谁知道我该怎么做?

所有帮助将不胜感激。

4

2 回答 2

0

这是一个相当有趣的请求,但我认为这应该工作得很好。这假设子视图是左/右,如果您需要上/下,则将 >= 反转为 <= 并比较 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];
              }
     }
于 2012-07-03T14:25:01.203 回答
0

将出口链接到 xib 中的每个子视图 在情节提要中查看此访问视图

致电您的网点upperView,然后lowerView

现在获取视图的来源

float x = upperView.frame.origin.x;
float y = upperView.frame.origin.y;
于 2012-07-03T14:20:33.583 回答