【问题标题】:Reading sub elements coordinates in superview/parent view controller in iOS在 iOS 的超级视图/父视图控制器中读取子元素坐标
【发布时间】:2012-07-03 14:15:47
【问题描述】:

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

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

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

我尝试使用 NSArray self.subviews 并尝试使用 NSView 类中的方法 convertRectconvertPoint

有人知道我该怎么做吗?

所有帮助将不胜感激。

【问题讨论】:

    标签: objective-c ios uiview parent-child subview


    【解决方案1】:

    这是一个相当有趣的请求,但我认为这应该可以很好地工作。这假设子视图是左/右,如果您需要上/下,则将 >= 反转为

    -(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];
                  }
         }
    

    【讨论】:

      【解决方案2】:

      将出口链接到 xib 中的每个子视图,请参阅access view inside a storyboard

      致电您的网点upperViewlowerView

      现在获取视图的来源

      float x = upperView.frame.origin.x;
      float y = upperView.frame.origin.y;
      

      【讨论】:

      • 是的,这可行,但我正在尝试创建一个动态视图控制器,该控制器可以检测某些元素是否存在,并根据它们的信息进行某些 ui 调整。感谢您尝试提供帮助。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-05
      • 2014-08-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多