如何在父框架外的subView框架之间转换坐标?

时间:2016-02-01 13:44:58

标签: ios uiview ios8 ios9 frame

我有这三种观点:

  1. 正佳
  2. parentView
  3. childView
  4. 这是如何订购的:

    grandView.frame = CGRectMake(0,0,100,200)
    
    //add parent view
    parentView.frame = CGRectMake(0,-100,grandView.frame.width,200)
    grandView.addSubView(parentView)
    
    //add child view
    childView = CGRectMake(0,150,grandView.frame.width,20)
    parentView.addSubView(childView)
    

    我想将childView添加到grandView,而不更改它的位置,所以首先我需要将框架更改为grandView坐标,然后添加subView,这就是我所做的:

    childView.frame = parentView.convertRect(childView.frame, toView: grandView)
    grandView.addSubView(childView)
    

    但是这不起作用,我认为因为parentView框架在grandView框架之外。怎么解决?

    修改

    请注意:

    • grandView is the controller.view

    • 如果我在调用viewDidAppear后调用它,上面的代码就可以正常工作。我不确定为什么?

0 个答案:

没有答案